2010-02-21 4 views
2

나는 매우 성가신 문제가 있습니다.글래스 피시 전쟁 배포 Jar가로드되지 않았습니다.

그래서 Java Java 웹 응용 프로그램 (.war 파일)에 2 개의 jar 파일을 포함하고자합니다. glassfish 버전 2.1에로드됩니다.

파일은 다음과 같습니다

axis2-adb-1.4.1.jarwstx-asl-3.2.4.jar.

내 콘솔 응용 프로그램에서이 파일을 클래스 경로에 추가하기 만하면 제대로 실행됩니다.

java.lang.reflect.InvocationTargetException

org.apache.axis2.AxisFault : org.apache.axis2 그러나, 나는 (항아리가 WEB-INF/lib/에 위치) 나는이 얻을 글래스 피시이를 배포 할 때 .databinding.ADBException : 는

내가 내 클래스 경로에서 wstx-asl-3.2.4.jar를 제거 내 콘솔 응용 프로그램에서, 나는이를 정확하게 얻을 것입니다 것으로 나타났습니다 확장 매퍼 클래스의 getTypeObject 메소드를 호출 할 수 없습니다 같은 오류. 그래서 내 감정은이 항아리가 어떤 방법으로로드되지 않는다는 것입니다.

그런 다음 항아리를 함께 다시 포장하기로 이동했습니다. 이 큰 axis2 + wstx.jar를 만들어 glassfish 프로젝트에로드했습니다. 같은 오류가 발생했습니다. 그것은 축 2 병이 없으면 이전에 def 예외가 아닌 axis2 클래스를 던질 것이기 때문에 확실히 로딩 중입니다.

글래시가 jars를 느리게로드하고 있으며, axis2 jar 나 메인 프로그램에이 wstx jar가 필요하지 않기 때문에 올바르게 읽어 들여지지 않습니다. 그러나 나는 아마 완전히 틀리다.

정말 누군가가 나를 도와 줄 수 있기를 바랍니다.

답변

4

GF v2 b49부터는 Woodstox이 Glassfish의 일부로 통합되어 있으며 기본 파서로 유지되는 sjsxp과 함께 사용됩니다. Woodstox in Glassfish v2에서

-Djavax.xml.stream.XMLEventFactory=com.ctc.wstx.stax.WstxEventFactory 
-Djavax.xml.stream.XMLInputFactory=com.ctc.wstx.stax.WstxInputFactory 
-Djavax.xml.stream.XMLOutputFactory=com.ctc.wstx.stax.WstxOutputFactory 

자세한 내용 : 사용하려면 Woodstox는 서버 측에서 다음과 같은 시스템 속성을 설정합니다.

당신의 요구 사항을 충족하지 않는 통합 Woodstox를 사용하여, 다음 어쩌면 class-loader 요소에 delegate="false"을 설정하여 설정하여 sun-web.xml 파일의 "클래스로드 위임 기능"을 활성화하려고하면

. 뭔가 그런 :

<sun-web-app> 
    <class-loader delegate="false"/> 
</sun-web-app> 
+0

거룩한 쓰레기가 작동합니다. 너 굉장하다. 이 시스템 속성을 설정하는 방법에 대해 더 자세히 살펴 보겠습니다. :) – Andy

0

두 항아리 모두에 같은 등급이 있다고 생각합니다. 그리고 어떻게 든 getTypeObject 메서드가없는 클래스가 먼저로드됩니다. classpath에서로드 된 jar의 순서를 변경할 기회가 있다면 도움이 될 것입니다.

관련 문제