2011-03-20 5 views
2

라이브러리를로드하는 Spring 3 애플리케이션이있다. 라이브러리는 JAX-WS 생성 Java 바인딩으로 구성됩니다. 라이브러리가 WAR 파일에 포함되어 Tomcat에 배포되면 응용 프로그램이 훌륭하게 실행됩니다.Tomcat이 제공하는 클래스를 인스턴스화하는 Spring 3 애플리케이션

Caused by: java.lang.IllegalArgumentException: interface com.sun.xml.ws.developer.WSBindingProvider is not visible from class loader 
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353) ~[na:1.6.0_24] 
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) ~[na:1.6.0_24] 
at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:604) ~[jaxws-rt-2.2.1.jar:2.2.1] 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:344) ~[jaxws-rt-2.2.1.jar:2.2.1] 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:326) ~[jaxws-rt-2.2.1.jar:2.2.1] 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:308) ~[jaxws-rt-2.2.1.jar:2.2.1] 
at javax.xml.ws.Service.getPort(Service.java:92) ~[na:1.6.0_24] 
at org.ghc.webservices.element.services.stubs.Express.getExpressSoap12(Express.java:94) ~[element-soap-libs-dev-1.16.jar:na] 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_24] 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_24] 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_24] 
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_24] 
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:145) ~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] 

불행하게도 우리가 이것을 계속해야합니다 : 우리는 톰캣 (CATALINA_HOME/lib에) 봄이 더 긴 인해 클래스 로더 문제의 모양에 라이브러리의 클래스를 인스턴스화 할 수 없습니다에 라이브러리를 이동하지만

응용 프로그램 외부의 라이브러리.

이 문제를 해결하는 방법에 난처한 의견이있어서 제안을 주시면 감사하겠습니다.

- 고마워요!

+0

또한 라이브러리 .jar를 $ CATALINA_HOME/endorsed에 배치했지만 결과는 원래 설명한 것과 같습니다. – node42

답변

0

라이브러리를 배치 한 디렉토리가 클래스 경로에서 사용 가능합니까? 우리는 보통 이런 식으로 common \ lib에 외부 라이브러리를 배치합니다.

%CATALINA_HOME%\common\lib\<yourjar>.jar 

그런 다음 작동하지 않으면 jar 파일을 명시 적으로 추가하고 catalina.bat 파일의 classpath에 설정하십시오.

set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\common\lib\<yourjar>.jar 
관련 문제