2012-02-01 3 views
0

웹 서비스 용 축 클라이언트를 만들었습니다. jar 파일로 내 보낸 후 공유/app 폴더에 포함되어 있으므로 모든 포틀릿 응용 프로그램에서 사용할 수 있습니다. 문제는 내 포틀릿 프로젝트가 클라이언트를 초기화하려고 시도 할 때 다음 예외가 발생한다는 것입니다.축 클라이언트 항아리는 6.1 공유 응용 프로그램입니다.

ERROR [org.springframework.web.portlet.DispatcherPortlet] - Context initialization failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'portalStatisticsTransactionDelegateProxy' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.uig.portal.ws.statistics.service.PortalStatisticsTransactionDelegateProxy]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org.apache.axis.client.AxisClient (initialization failure) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:965) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 
    at com.ibm.ws.wswebcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:653) 
    at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:370) 
    at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:293) 
    at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:93) 
    at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:162) 
    at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:673) 
    at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:626) 
    at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:335) 
    at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:551) 
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1274) 
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1138) 
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:569) 
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:817) 
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921) 
    at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2124) 
    at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497) 
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.uig.portal.ws.statistics.service.PortalStatisticsTransactionDelegateProxy]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org.apache.axis.client.AxisClient (initialization failure) 
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:141) 
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:74) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:958) 
    ... 30 more 
Caused by: java.lang.NoClassDefFoundError: org.apache.axis.client.AxisClient (initialization failure) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:134) 
    at org.apache.axis.client.Service.getAxisClient(Service.java:104) 
    at org.apache.axis.client.Service.<init>(Service.java:113) 
    at com.uig.portal.ws.statistics.service.PortalStatisticsTransactionServiceLocator.<init>(PortalStatisticsTransactionServiceLocator.java:12) 
    at com.uig.portal.ws.statistics.service.PortalStatisticsTransactionDelegateProxy._initPortalStatisticsTransactionDelegateProxy(PortalStatisticsTransactionDelegateProxy.java:18) 
    at com.uig.portal.ws.statistics.service.PortalStatisticsTransactionDelegateProxy.<init>(PortalStatisticsTransactionDelegateProxy.java:8) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:67) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:522) 
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126) 
    ... 32 more 

아이디어가 있습니까? 내 포틀릿 프로젝트에서 축 병을 참조하려고했지만 작동하지 않았습니다.

+0

"(초기화 실패)"는 클래스 초기화가 실패했기 때문에 JVM이 클래스를 불량으로 표시했음을 나타냅니다. 로그에 "at ... AxisClient. "스택 프레임이 표시되는 이전 오류가 있어야하며 이것이이 예외의 원인입니다. 그 예외는 무엇이라고 말합니까? –

+0

전체 스택 추적을 추가했습니다. 어떤 아이디어? – Carlos

+0

아니요, NoClassDefFoundError의 전체 스택 추적입니다. "at ... AxisClient. "을 포함하는 스택 추적을 보여주는 또 다른 오류 (어딘가에)가 있어야합니다 (미안하지만, 이전의 나의 의견은 "clinit"보다는 "client"라고 잘못 말한 것입니다). –

답변

0

클라이언트 병이 표준 websphere 라이브러리를 방해한다고 생각합니다. 이로 인해 서버 클래스 로더 계층에 동일한 클래스의 두 가지 버전이 존재하게됩니다. 응용 프로그램 클래스 로더가 잘못된 버전을 선택했을 수 있습니다.

공유/app에서 jar를 제거하고 대신 공유 라이브러리를 구성하는 것이 좋습니다. 그런 다음 공유 라이브러리를 응용 프로그램과 연관시킵니다. was infocenter에서 자세한 내용을 확인할 수 있습니다.

관련 문제