运行时的NoClassDefFoundError

时间:2013-08-28 05:50:50

标签: java jboss

我在我的应用程序中使用了Apache POI库并上传到JBoss AS 7.1。它成功地部署了jar,我能够在没有任何错误/异常的情况下运行应用程序,如果我部署到jboss-5.0.1.GA,那么就像在同一个jar中一样。它抛出以下异常。

     java.lang.NoClassDefFoundError: org/dom4j/DocumentException
at org.apache.poi.openxml4j.opc.OPCPackage.init(OPCPackage.java:154)
at org.apache.poi.openxml4j.opc.OPCPackage.<init>(OPCPackage.java:141)
at org.apache.poi.openxml4j.opc.Package.<init>(Package.java:54)
at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:82)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:267)
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:39)
at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:120)
...

 Caused by: java.lang.ClassNotFoundException: org.dom4j.DocumentException
at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:738)
at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1650)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 19 more

如果我添加dom4j jar。它会抛出一个新的异常

    java.lang.ClassCastException: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory 

会出现什么问题? JBoss5加载类与JBoss7的加载方式不同吗?我在这里缺少什么?

注意:我的应用程序是一个独立的Java应用程序

1 个答案:

答案 0 :(得分:0)

可能你可以尝试删除eclipse中的类路径JRE,将JRE重新添加到buildpath并重新启动eclipse并确保你的java编译器是6.并部署你的osgi plugin。并重新启动JBoss。

注意:在部署osgi plugin之前清除osgi-cache