2010-03-03 15 views
6

Mam zamiar użyć jacob.jar. Ale problem polega na tym, że plik jar jacoba nie ma pliku xxx.gwt.xml. Więc nie jestem w stanie dziedziczyć go do mojego pliku xml projektu.Jak dodać zewnętrzny plik Jar do projektu GWT

Jak rozwiązać ten problem? lub GWT nie pozwalają nam dodać zewnętrznego pliku JAR?

Odpowiedz

-6

Możesz użyć zewnętrznych słoików i jeśli rozumiem, że jesteś poprawny, nie musisz wstawiać go do pliku xxx.gwt.xml. Na przykład - używam programu maven do budowania mojego projektu, a zewnętrzne słoiki są zdefiniowane jako zależności w pliku pom.xml.

3

Będziesz potrzebować źródła lub xxx.gwt.xml, jeśli planujesz użyć którejkolwiek z klas zawartych w słoiku. Możesz użyć słoika bez problemu po stronie serwera. Zobacz http://www.vogella.com/articles/GWTModules/article.html na przykładzie tworzenia klasy xxx.gwt.xml dla klas jar.

+0

W końcu będzie potrzebował źródła AND AND Gt.XML. Jeśli ma tylko źródło, może utworzyć plik gwt.xml. –

3

Nie musisz dziedziczyć xxx.gwt.xml, jeśli chcesz korzystać z biblioteki po stronie serwera (lub w generatorach GWT). Jeśli chcesz korzystać z biblioteki po stronie klienta, musisz również dziedziczyć xxx.gwt.xml, a jeśli biblioteka nie ma tego pliku xml.gwt, prawdopodobnie nie będzie działać z GWT (nie będzie kompilowanego kompilatora gwt JS). W razie potrzeby można utworzyć własny plik xxx.gwt.xml.

Peter

0

Poniżej jest moje środowisko testowe, ja po prostu otworzyć nowy projekt GWT i modyfikować na nim kodu po stronie serwera. Zostałem dodany w tym kodzie: /** * Implementacja usługi RPC po stronie serwera. */ @SuppressWarnings ("Serial") public class GreetingServiceImpl rozciąga RemoteServiceServlet realizuje GreetingService {

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

żadnego błędu po kompilacji.

ale po uruchomieniu w trybie debugowania, po "ActiveXComponent xl = new ActiveXComponent (" Excel.Application ");".

Następnie pokazać błędzie błędzie: : "ava.lang.UnsatisfiedLinkError: brak Jacob w java.library.path"

mój plik słoik znajduje się pod: wojny \ WEB-INF \ lib \ Jacob .jar

5

Nie rozwiązałem problemu. Ponieważ znalazłem inną bibliotekę GWT, która może spełnić moje wymagania. Ale mam jedną sugestię z GWT Forum. Mam nadzieję, że to pomoże! Proszę zobaczyć poniżej:

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 używa JNI aby wykonywać swoje zadania. Tak więc klasy JACOB java muszą załadować plik jacob.dll. Dokumentacja JACOB stwierdza to w http://danadler.com/jacob/ (poszukaj sekcji "Pobierz"), wspomina o dll.

Plik dll musi zostać umieszczony w katalogu, do którego odnosi się zmienna PATH. Możesz także zmienić wartość właściwości systemowej java.library.path. Tutaj How to set the java.library.path from Eclipse to sposób, w jaki można to zrobić w Eclipse.

Powiązane problemy