2013-05-06 4 views
0

GWT 응용 프로그램에서 작업 중이며 타사 Java-R wrapper 라이브러리를 사용하고 있습니다. 이것은 자바 바이트 코드로 변환 될 것이고 (나는 짐작할 수있다) R 라이브러리를 통해 몇몇 메소드를 호출 할 것이다. 성공적으로 이클립스 개발 모드에서 작동하도록 할 수 있었다.타사 라이브러리를 사용하는 GWT Appliaction은 개발 모드에서 작동하지만 배포 모드는 지원하지 않습니다.

작동 시키려면 클래스 경로에 .jar를 추가하고 java 경로 (Run-Configurations-> 환경 변수) 변수에 추가하여 여러 .dll을 포함하는 폴더의 위치를 ​​추가해야했습니다. 이는 프로그램 실행에 필요합니다.

모든 것이 개발 모드에서 잘 작동하는 것처럼 보이지만 Tomcat 7을 통해 배포 할 때 문제가있는 것처럼 보입니다. GWT에서 환경 변수를 수정할 때 다른 작업이 필요합니까?

처음 Tomcat 서버 내가 조금 다르게 코드를 변경하고 지금은 그냥 루프 동안 무한으로 보이는 입력 때문에

May 06, 2013 4:08:22 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 
SEVERE: The web application [/r] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation. 

의 충돌 것입니다. 그러나 이러한 세부 사항은 내 질문에 중요하지 않게 보입니다.

내가 GWT

  1. 에 대한 타사 라이브러리를 사용하는 방법은 두 가지 그것은 (당신의 WEB-INF/실험실에서뿐만 아니라) 당신이 단지 등 단지 항아리입니다 거기에 가정

    모든 것이

  2. 당신은 사용 일 Jar 및 프로젝트의 환경 변수에서 설정 한 다른 .dll의 무리. 이것은 내가 한 일이고, 다시 한번 그것은 개발 모드에서 작동하지만 전개 된 모드에서는 작동하지 않습니다.

모든 피드백/조언이 상당히 도움이됩니다. 감사!

+0

서버 측에서 타사 라이브러리의 코드를 호출 하시겠습니까? –

+0

참으로 나는이다. 나는 샘플 GWT 응용 프로그램을 사용하고 greetingServiceImpl.java의 my.app.server 패키지에서 greetServer (String input) 메소드를 수정하고있다. – bubbles

답변

1

클래스 경로에 포함시킬 jar를 서버 런타임에서 사용할 수 없습니다. 명시 적으로 WEB-INF/lib에 넣지 않으려는 경우 해당 jar를 tomcat의 server/lib 폴더

에 복사하여 시도 할 수 있습니다 당신은 또한 .dll을을 가지고 있기 때문에

그들은, 당신은 빈/startup.sh를 편집 (또는 .BAT)와 java.library.path 변수를 수정할 수 있습니다 바람둥이의 JVM 인수

java -Djava.library.path=/dlls.folder 

를 전달하여 설정해야합니다 일부 시스템에서는 LD_LIBRARY_PATH 변수를 너무 높게 설정해야 할 수도 있습니다. 비슷한 토론 참조 here

+0

것은 tho이고, 나는 1 개의 Jar 파일과 약 6 개의 .dll 파일을 가지고있다. tomcat의 lib 폴더는 .jars로 채워집니다. 그거면 충분 할까? – bubbles

+0

나는 본다. 나는 확실히 이것을 시도 할 것이다. 할 것이다. 빠른 질문 (윈도우 톰캣을 사용하는 메신저)은 C : \ Path \를 \ lib \ 또는 C : \ 경로 \에서 \ lib로 변경해야합니다. – bubbles

+0

확실하지 않은 경우 두 가지 중 어느 것이 작동하는지 확인해야합니다. – skywalker