2010-03-03 19 views
6

Voy a utilizar jacob.jar. Pero el problema es que el archivo jacob jar no tiene el archivo xxx.gwt.xml. Así que no puedo heredarlo en mi archivo xml de proyecto.Cómo agregar un archivo jar externo al proyecto GWT

Cómo resolver este problema? o GWT no nos permite agregar archivos JAR externos?

Respuesta

-6

Puede utilizar jarras externas y si entiendo que las corrige no necesita insertarlas en el archivo xxx.gwt.xml. Por ejemplo, estoy usando maven para construir mi proyecto y los archivos jar externos están definidos como dependencias en pom.xml.

3

Necesitará la fuente o un xxx.gwt.xml si planea usar cualquiera de las clases incluidas en el contenedor. Sin embargo, puedes usar el jar sin problemas en el lado del servidor. Consulte http://www.vogella.com/articles/GWTModules/article.html en un ejemplo de creación de xxx.gwt.xml para las clases de jar.

+0

Al final, necesitará la fuente Y un gwt.xml. Si solo tiene la fuente, puede crear un gwt.xml sin embargo. –

3

No tiene que heredar xxx.gwt.xml si desea utilizar la biblioteca en el código del lado del servidor (o en los generadores GWT). Si desea utilizar la biblioteca en el código del lado del cliente, también debe heredar xxx.gwt.xml y si la biblioteca no tiene este archivo GWT xml probablemente no funcione con GWT (no será compilador compilado de JS gwt). De todos modos, puede crear su propio xxx.gwt.xml si lo desea.

Peter

0

continuación es mi ambiente de prueba, sólo basta con abrir un nuevo proyecto GWT y modificar en él código del lado del servidor. Estoy agregado en este código: /** * La implementación del servidor del servicio RPC. */ @SuppressWarnings ("serie") clase pública se extiende GreetingServiceImpl RemoteServiceServlet implementa GreetingService {

public String greetServer(String input) { 
    ActiveXComponent xl = new ActiveXComponent("Excel.Application"); 
    Object xlo = xl.getObject(); 

ningún error después de la compilación.

pero cuando me ejecuto en modo de depuración, después de "ActiveXComponent xl = new ActiveXComponent (" Excel.Application ");".

A continuación se muestran este msg del error: : "ava.lang.UnsatisfiedLinkError: no Jacob en java.library.path"

mi archivo jar se pone bajo: guerra \ WEB-INF \ lib \ jacob .jar

5

No he resuelto el problema. Porque encontré que otra GWT lib puede cumplir con mis requisitos. Pero recibí una sugerencia del Foro GWT. ¡Espero que te pueda ayudar! Por favor, ver más abajo:

Blockquote The library you are trying to use is intended for running in a java VM, not a browser's javascript engine. You need either a javascript library to wrap with JSNI, or a java library that meets the requirements below. Google openid gwt and you'll see how people have been able to use openid with gwt.

Blockquote The GWT java->javascript compiler used to create client browser code does not translate any arbitrary Java library for you. For one, it is limited to emulating a subset of the java JRE, so any library may only use that subset of java JRE functionality. For two, it works on the java source code, so any library you expect to use on the client side must be packaged to include its source. There are plenty of libraries people have packaged for use on the GWT client side, but they are packaged using GWT's packaging standard with an xml description file, must include the source, and use the restricted subset of the JRE. http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsCompatibility.html

0

Guaz:

JACOB utiliza JNI para hacer su trabajo. Entonces las clases java de JACOB necesitan cargar jacob.dll. La documentación de JACOB establece esto en http://danadler.com/jacob/ (busque la sección "Descargar"), menciona el dll.

El dll debe colocarse en un directorio al que hace referencia la variable PATH. También puede cambiar el valor de la propiedad del sistema java.library.path. Aquí How to set the java.library.path from Eclipse es cómo puedes hacerlo en Eclipse.

Cuestiones relacionadas