嗨,我正在尝试在NetBeans7 IDE,java6,glassfish3.2环境中生成动态报告。
我正在使用Java> Web应用程序创建项目。我用下面的罐子

公地收藏3.2.1
Commons-Diester-2.0
动态报告-1.3.0
dynamicreports-adhoc-4.0.1
dynamicreports-core-4.0.1
itext-2.1.7
jasperreports-6.1.0
commons-logging-1.2
commons-logging-1.2-javadoc
common-lang3.jar

但我越来越
线程“主”中的异常java.lang.NoClassDefFoundError:org / apache / commons / lang / Validate

我调查了这个问题,发现
我必须添加

1)common-lang3.jar
2)和WEB-INF> lib中缺少common-lang3.jar,

我添加了提到的罐子和
在WEB-INF> lib中也可以找到它。
但我仍然面临着同样的问题。

在运行Java文件时找到以下异常

跑:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/Validate
    at net.sf.dynamicreports.report.base.component.DRList.setType(DRList.java:78)
    at net.sf.dynamicreports.report.base.component.DRList.<init>(DRList.java:50)
    at net.sf.dynamicreports.report.base.DRBand.<init>(DRBand.java:41)
    at net.sf.dynamicreports.report.base.DRReport.init(DRReport.java:113)
    at net.sf.dynamicreports.report.base.DRReport.<init>(DRReport.java:97)
    at net.sf.dynamicreports.report.builder.ReportBuilder.<init>(ReportBuilder.java:60)
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.<init>(JasperReportBuilder.java:95)
    at net.sf.dynamicreports.report.builder.DynamicReports.report(DynamicReports.java:65)
    at net.sf.dynamicreports.examples.adhoc.DynamicReporting.main(DynamicReporting.java:20)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.Validate
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 9 more
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)


我的代码:

public class DynamicReporting{
    public static void main(String args[]) throws DRException, FileNotFoundException{
        JasperReportBuilder report= DynamicReports.report();
        report.toPdf(new FileOutputStream(new File("c:/report.pdf")));
        System.out.print("Report generated");
    }
}


任何人都可以提出我所缺少的建议吗?

最佳答案

从jar列表中的dynamicreports-core-4.0.1,可以说您正在使用4.0.1版本,因此您不需要dynamicreports-1.3.0这个。

我刚刚从下面的链接下载了依赖项,


  http://sourceforge.net/projects/dynamicreports/files/dynamicreports/4.0.1/


而您需要运行的代码片段就是您的项目类路径中的jar列表,

java - 动态报告中的异常-LMLPHP

您会看到这与您的不匹配,因此您混合了很多diff版本的jar。

注意:所有这些罐子都可以在该链接下找到。

09-28 06:24