2010-03-03 8 views
6

jacob.jar을 사용할 것입니다. 하지만 문제는 jacob jar 파일에 xxx.gwt.xml 파일이 없다는 것입니다. 그래서 그것을 내 프로젝트 XML 파일로 상속 할 수 없습니다.GWT 프로젝트에 외부 Jar 파일을 추가하는 방법

이 문제를 해결하는 방법? 또는 GWT를 사용하여 외부 JAR 파일을 추가 할 수 없습니까?

답변

-6

외부 항아리를 사용할 수 있으며 올바른 경우 xxx.gwt.xml 파일에 삽입하지 않아도됩니다. 예를 들어 - maven을 사용하여 프로젝트를 빌드하고 외부 jar는 pom.xml의 종속성으로 정의됩니다.

3

jar 파일에 포함 된 클래스 중 하나를 사용하려면 소스 또는 xxx.gwt.xml이 필요합니다. 서버 측에서 문제없이 jar를 사용할 수 있습니다. jar 클래스에 대한 xxx.gwt.xml을 작성하는 예제는 http://www.vogella.com/articles/GWTModules/article.html을 참조하십시오.

+0

결국 그는 소스와 gwt.xml이 필요합니다. 그는 소스 만 가지고 있다면 gwt.xml을 만들 수 있습니다. –

3

서버 측 코드 (또는 GWT 생성기)에서 라이브러리를 사용하려는 경우 xxx.gwt.xml을 상속 할 필요가 없습니다. 클라이언트 측 코드에서 라이브러리를 사용하려면 xxx.gwt.xml도 상속해야하며 라이브러리에이 GWT xml 파일이 없으면 GWT와 호환되지 않을 것입니다 (컴파일 할 수없는 gwt JS 컴파일러). 원한다면 어쨌든 자신 만의 xxx.gwt.xml을 만들 수 있습니다.

피터

0

아래는 그냥 단순히 새로운 GWT 프로젝트를 열고 서버 측 코드를 수정, 내 테스트 환경입니다. 이 코드에 추가되었습니다 : /** * RPC 서비스의 서버 측 구현. */ @SuppressWarnings ("시리얼") GreetingServiceImpl은 RemoteServiceServlet을 확장 공용 클래스가 GreetingService {

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

컴파일 후 오류없이 구현합니다.

그러나 디버그 모드에서 실행하면 "ActiveXComponent xl = new ActiveXComponent ("Excel.Application ");". : "ava.lang.UnsatisfiedLinkError : java.library.path 없음 야곱" 전쟁 \의 WEB-INF \ lib 디렉토리 \ 야곱

내 jar 파일이 아래에 넣어

는 그 다음이 오류 MSG를 표시 .jar

5

문제를 해결하지 못했습니다. 왜냐하면 나는 다른 GWT 라이브러리가 나의 요구 사항을 충족시킬 수 있다는 것을 발견했기 때문이다. 하지만 GWT 포럼에서 한 가지 제안을 받았습니다. 나는 그것이 당신을 도울 수 있기를 바랍니다! 아래를 참조하십시오 :

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을 :

야곱은 그 일을 JNI를 사용합니다. 따라서 JACOB의 Java 클래스는 jacob.dll을로드해야합니다. JACOB 문서에이 내용이 http://danadler.com/jacob/ ("다운로드"섹션을 찾으십시오)에 나와 있으며 dll에 대해 언급합니다.

dll은 PATH 변수가 참조하는 디렉토리에 위치해야합니다. java.library.path 시스템 프로퍼티의 값을 변경할 수도 있습니다. 여기 How to set the java.library.path from Eclipse은 Eclipse에서이 작업을 수행하는 방법입니다.

관련 문제