2013-01-09 2 views
1

요약하면 WebSphere에 응용 프로그램의 el-api.jar에서 클래스를 사용하도록 지시하는 방법이 있습니까? 대신 (내장 된) javax.j2ee.el.jar에서?WebSphere 8 : el-api.jar (in app)이 javax.j2ee.el.jar (WS)와 충돌 함

이야기 : 8 개 시도 될 때 모든 일이 걸리면

: 내가 거기에 8 WAS에 WAS 6.1에서 마이그레이션하는 응용 프로그램을하는 동안이 문제에 대한 인터넷에 대한 논의가 있지만 그 중 어느 것도 명시 적으로이 점을 언급 알고 el-api.jar (EAR에 포함)에서 javax.el.ExpressionFactory를로드합니다. 그러나이 시점에서 이미 javax.j2ee.el.jar에서로드했습니다. (WAS 6.1에는 존재하지 않았다.) 자세한 클래스 로딩을 스위치 온하면 :

클래스로드 : javax.el.ExpressionFactory from : file :/C :/Program Files/

el-api.jar가 들어있는 응용 프로그램의 EAR을 설치하기 전에이 jar 파일이 이미로드되어 있기 때문에 보이는 것 같습니다. WAS 8 (응용 프로그램을 설치하기 전에) PARENT_LAST 클래스 로딩 전략을 사용하도록 지정했는지 여부에 관계없이 클래스 로딩 충돌시 발생합니다.

el-api.jar 대신 javax.j2ee.el.jar를 사용하여 응용 프로그램을 컴파일하고 설치할 수는 있지만, 한편으로는 이것이 장기적으로 어떤 결과를 낳을 지 모릅니다. 나는 지금까지 어떤 식 으로든 실행시킬 수 없었습니다.) 한편, 궁극적 인 목표는 WAS 8 서버에 원래의 EAR (자체 JSF 라이브러리 등 포함)을 설치할 수있게하는 것이 었습니다 가능하면 수정.

WAS 8 서버가 el-api.jar에서 충돌하는 클래스를 다시로드하거나 처음에 javax.j2ee.el.jar을로드하지 않도록 말할 수있는 방법이 있습니까? (앞에서 언급 한 것처럼 PARENT_CLASS를 지정해도 영향이 없습니다.)

감사합니다.

(설치된 응용 프로그램을 시작할 때) 엘-api.jar을에서 javax.el.ExpressionFactory를로드 8 개 시도 할 때 발생합니다 그런데 예외 :

(죄송는 독일어 있다는 일부 인터넷 검색 내가 사용하지 않은

'java.lang.LinkageError: loading constraint violation: loader "com/ibm/ws/classloader/[email protected]" previously initiated loading for a different type with name "javax/el/ExpressionFactory" defined by loader org/eclipse/osgi/internal/baseadaptor/[email protected]"') 

java.lang.LinkageError: Übertretung der Ladeeinschränkung: Ladeprogramm "com/ibm/ws/classloader/[email protected]" hat zuvor das Laden für einen anderen Typ mit dem Namen "javax/el/ExpressionFactory", der durch Ladeprogramm "org/eclipse/osgi/internal/baseadaptor/[email protected]" definiert ist, eingeleitet. 
at java.lang.ClassLoader.defineClassImpl(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:262) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69) 
at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:829) 
at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:744) 
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:585) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:627) 
at java.lang.Class.getDeclaredFieldsImpl(Native Method) 
at java.lang.Class.getDeclaredFields(Class.java:546) 
at com.ibm.ffdc.util.formatting.Introspector$1.run(Introspector.java:138) 
at com.ibm.ffdc.util.formatting.Introspector$1.run(Introspector.java:136) 
at java.security.AccessController.doPrivileged(AccessController.java:254) 
at com.ibm.ffdc.util.formatting.Introspector.getDeclaredFields(Introspector.java:135) 
at com.ibm.ffdc.util.formatting.Introspector.formatTo(Introspector.java:94) 
at com.ibm.ffdc.util.provider.IncidentStream$2.writeTo(IncidentStream.java:194) 
at com.ibm.ffdc.util.provider.IncidentStream.write(IncidentStream.java:198) 
at com.ibm.ffdc.util.provider.IncidentStream.write(IncidentStream.java:129) 
at com.ibm.ffdc.util.formatting.JavaUtilFormatter.formatTo(JavaUtilFormatter.java:56) 
at com.ibm.ffdc.util.formatting.JavaUtilFormatter.formatTo(JavaUtilFormatter.java:42) 
at com.ibm.ffdc.util.provider.IncidentStream$2.writeTo(IncidentStream.java:194) 
at com.ibm.ffdc.util.provider.IncidentStream.write(IncidentStream.java:198) 
at com.ibm.ffdc.util.provider.IncidentStream.write(IncidentStream.java:129) 
at com.ibm.ffdc.util.formatting.Introspector.formatTo(Introspector.java:109) 
at com.ibm.ffdc.util.provider.IncidentStream$2.writeTo(IncidentStream.java:194) 
at com.ibm.ffdc.util.provider.IncidentStream.write(IncidentStream.java:198) 
at com.ibm.ffdc.util.provider.IncidentStream.write(IncidentStream.java:129) 
at com.ibm.ws.ffdc.impl.DMAdapter.formatTo(DMAdapter.java:88) 
at com.ibm.ffdc.util.provider.IncidentLogger.writeIncidentTo(IncidentLogger.java:63) 
at com.ibm.ws.ffdc.impl.FfdcProvider.logIncident(FfdcProvider.java:205) 
at com.ibm.ws.ffdc.impl.FfdcProvider.logIncident(FfdcProvider.java:136) 
at com.ibm.ffdc.util.provider.FfdcProvider.log(FfdcProvider.java:251) 
at com.ibm.ws.ffdc.impl.FfdcProvider.log(FfdcProvider.java:149) 
at com.ibm.ffdc.util.provider.IncidentEntry.log(IncidentEntry.java:105) 
at com.ibm.ffdc.util.provider.Ffdc.log(Ffdc.java:94) 
at com.ibm.ws.ffdc.FFDCFilter.processException(FFDCFilter.java:114) 
at com.ibm.wsspi.webcontainer.util.FFDCWrapper.processException(FFDCWrapper.java:6) 
at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1653) 
at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:410) 
at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88) 
at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169) 
at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:746) 
at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634) 
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:422) 
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:714) 
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1160) 
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1369) 
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:638) 
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:967) 
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:766) 
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1354) 
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2150) 
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445) 
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123) 
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388) 
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116) 
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$1.run(CompositionUnitMgrImpl.java:663) 
at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5413) 
at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5539) 
at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255) 
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:677) 
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:621) 
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1246) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
at java.lang.reflect.Method.invoke(Method.java:611) 
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:49) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
at java.lang.reflect.Method.invoke(Method.java:611) 
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:256) 
at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1085) 
at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:966) 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:848) 
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:773) 
at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1335) 
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118) 
at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1228) 
at com.ibm.ws.management.commands.AdminServiceCommands$InvokeCmd.execute(AdminServiceCommands.java:251) 
at com.ibm.ws.console.core.mbean.MBeanHelper.invoke(MBeanHelper.java:241) 
at com.ibm.ws.console.appdeployment.ApplicationDeploymentCollectionAction.execute(ApplicationDeploymentCollectionAction.java:564) 
at org.apache.struts.action.RequestProcessor.processActionPerform(Unknown Source) 
at org.apache.struts.action.RequestProcessor.process(Unknown Source) 
at org.apache.struts.action.ActionServlet.process(Unknown Source) 
at org.apache.struts.action.ActionServlet.doPost(Unknown Source) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456) 
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:926) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1023) 
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1384) 
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:193) 
at org.apache.struts.action.RequestProcessor.doForward(Unknown Source) 
at org.apache.struts.tiles.TilesRequestProcessor.doForward(Unknown Source) 
at org.apache.struts.action.RequestProcessor.processForwardConfig(Unknown Source) 
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(Unknown Source) 
at org.apache.struts.action.RequestProcessor.process(Unknown Source) 
at org.apache.struts.action.ActionServlet.process(Unknown Source) 
at org.apache.struts.action.ActionServlet.doPost(Unknown Source) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456) 
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92) 
at com.ibm.ws.console.core.servlet.WSCUrlFilter.setUpCommandAssistance(WSCUrlFilter.java:950) 
at com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:499) 
at com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:320) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:926) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1023) 
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87) 
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895) 
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) 
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305) 
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) 
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784) 
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) 
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659) 
+0

"처음하는 로컬 클래스 로더 (마지막 부모)와 함께로드 된 클래스가"왜 당신과 함께 EL API를 제공하기 위해 노력하고있다 선택 첫 번째 장소에서 webapp? – BalusC

답변

0

8되었지만,이 서버 클래스 경로에서로드되기 전에 버전 7에서 응용 프로그램의 클래스 경로에서 클래스를로드하기 위해 서버를 설정할 수 있습니다으로이 오류 메시지의 Eglish 버전 확인 .

DMIN 콘솔 :

  1. 가 선택 "응용 프로그램> 응용 프로그램 유형>는 WebSphere 엔터프라이즈 애플리케이션"
  2. 응용 프로그램을 선택합니다.
  3. 클릭 "클래스 로딩 및 업데이트 검색"
  4. 에서 "클래스 로더 순서"