2016-09-17 223 views
0

我在尝试在MyEclipseBlue.Can中的WAS 8.5上部署EAR时出现以下错误,请帮助? 我已经尝试将父类最后的类装入器顺序更改为第一个,在web.xml中设置metadata-complete =“true”,创建新配置文件并重新安装WAS。似乎没有任何工作。请在下面找到控制台日志。WAS 8.5服务器启动错误

[9/17/16 16:03:06:548 IST] 00000001 ContainerHelp E WSVR0501E: Error creating component [email protected] 
com.ibm.ws.exception.RuntimeWarning: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: Failed to load webapp: loading constraint violation: loader &quot&#59;com/ibm/ws/classloader/[email protected]&quot&#59; previously initiated loading for a different type with name &quot&#59;javax/servlet/ServletContext&quot&#59; defined by loader &quot&#59;org/eclipse/osgi/internal/baseadaptor/[email protected]&quot&#59; 
    at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:432) 
    at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718) 
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1170) 
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370) 
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:638) 
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968) 
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:769) 
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2172) 
    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$CUInitializer.run(CompositionUnitMgrImpl.java:994) 
    at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783) 
Caused by: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: Failed to load webapp: loading constraint violation: loader &quot&#59;com/ibm/ws/classloader/[email protected]&quot&#59; previously initiated loading for a different type with name &quot&#59;javax/servlet/ServletContext&quot&#59; defined by loader &quot&#59;org/eclipse/osgi/internal/baseadaptor/[email protected]&quot&#59; 
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:759) 
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634) 
    at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426) 
    ... 14 more 
Caused by: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: loading constraint violation: loader "com/ibm/ws/classloader/[email protected]" previously initiated loading for a different type with name "javax/servlet/ServletContext" defined by loader "org/eclipse/osgi/internal/baseadaptor/[email protected]" 
    at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:176) 
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749) 
    ... 16 more 
Caused by: java.lang.LinkageError: loading constraint violation: loader "com/ibm/ws/classloader/[email protected]" previously initiated loading for a different type with name "javax/servlet/ServletContext" defined by loader "org/eclipse/osgi/internal/baseadaptor/[email protected]" 
    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:852) 
    at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:762) 
    at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:603) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:627) 
    at com.sun.xml.ws.transport.http.servlet.WSServletContainerInitializer.onStartup(WSServletContainerInitializer.java:61) 
    at com.ibm.ws.webcontainer.webapp.WebAppImpl.initializeServletContainerInitializers(WebAppImpl.java:613) 
    at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:409) 
    at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88) 
    at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169) 
    ... 17 more 
+0

你大概已经在应用程序中打包了servlet API,所以你应该删除它。 FWIW,除非你的应用程序或模块类加载器被设置为“父亲最后”,否则基本上不可能得到这样的LinkageError。如果你确实从父母最后变成了父母,但仍然看到一些错误,我怀疑它与你在这里包含的错误不一样。 –

+0

感谢@Brett删除servlet-api jar解决了这个问题,但在服务器启动期间,我仍然收到类似于java.lang.NoClassDefFoundError:org.slf4j.LoggerFactory(初始化失败)的错误。服务器现在开始运行,但应用程序不是。 – Twisha

+0

整个stacktrace可以在这里找到:http://stackoverflow.com/questions/39571158/was-8-5-server-start-up-error-noclassdeffounderror – Twisha

回答

1

你大概已经在应用程序中打包了servlet API,所以你应该删除它。 FWIW,除非你的应用程序或模块类加载器被设置为“父亲最后”,否则基本上不可能得到这样的LinkageError。如果你确实从父母最后变成了父母,但仍然看到一些错误,我怀疑它与你在这里包含的错误不一样。