#java.lang.NoClassDefFoundError:org/apache/commons/digester/Digester

sha*_*nda 7 java classpath jasper-reports noclassdeffounderror

我收到 java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester错误,我被困这个错误超过一个月.我已经尝试了所有Digester版本,我还在classpath中检查了重复的JAR.

我已经设计了报告,iReport-5.6.0并且使用了来自 iReport-5.6.0\ireport\modules\ext其他所需JAR的JAR.

错误日志:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:108)
    at net.sf.dynamicreports.examples.JasperMongoDBConnection.main(JasperMongoDBConnection.java:30)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.digester.Digester
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 2 more
Run Code Online (Sandbox Code Playgroud)

exo*_*dus 7

如果NoClassDefFoundError抛出你应该检查所需的jar是否在类路径中正确加载,或者你可能是混合版本和类名可能是不同的(或它的行为).检查您添加的Digester罐子是否是需要的罐子.

检查这些jar是否正确加载:

jasperreports-.jar;
jasperreports-javaflow.jar;
commons-beanutils.jar;
commons-collections.jar;
commons-logging.jar;
commons-digester.jar
Run Code Online (Sandbox Code Playgroud)

看看你的eclipse实例下的jasper report plugin文件夹.在此文件夹中搜索commons digester jar并在项目中复制相同的jar(以及列出的其他jar).