我已经构建了一个包含以下内容的ear文件:
myear.ear
- > META-INF
- > mywar.war
war文件的内容是:
mywar.war
- > META-INF
- > WEB-INF
- > classes
- > jsp
- > lib
- > myjar.jar
- > applicationContext.xml
- > ....
其中myjar.jar包含类:
com.myapp.config.Configurator
现在,当我在websphere 8.5.0.1中部署此war文件时,我得到:
[11-04-13 10:16:54:875 CEST] 00000065 servlet I com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I: [isclite] [/ibm/console] [/com.ibm.ws.console.appmanagement/CtxRootForWebMod.jsp]: Initialization successful.
[11-04-13 10:23:30:488 CEST] 00000062 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service Uncaught service() exception thrown by servlet resourceLoader: java.lang.NoClassDefFoundError: com.myapp.config.Configurator (initialization failure)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:168)
at com.myapp.web.servlet.WebResourceServlet.doPost(WebResourceServlet.java:60)
at com.myapp.web.servlet.WebResourceServlet.doGet(WebResourceServlet.java:45)
为什么在位于ear存档中的课程时会出现此错误?
答案 0 :(得分:2)
错误消息也说“初始化失败”。 java.lang.NoClassDefFoundError
可能是由静态初始化程序中的未捕获异常引起的。因此找到了类文件,但static
块的执行失败了。