当前位置: 首页 > 知识库问答 >
问题:

动态报告中的异常

陶烨赫
2023-03-14

你好,我试图在NetBeans7 IDE,java6,glassFish3.2环境中生成动态报告。我正在使用java创建项目

commons-collections-3.2.1
commons-digester-2.0
dynamicreports-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
common-logging-1.2-javadoc
。罐子

但我在线程“main”java中遇到了异常。lang.NoClassDefFoundError:org/apache/commons/lang/Validate

我调查了这个问题,发现我必须添加
1)common-lang3。jar
2)和common-lang3。WEB-INF中缺少jar

在运行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.html" target="_blank">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");
    }
}

谁能告诉我我错过了什么。提前谢谢


共有2个答案

能逸清
2023-03-14

如果您正在使用发布的动态报告4.1.1,您应该选择JasperReport 6.2.2

动态报告4.1.0发布了JasperReport 6.2.0,动态报告4.0.2发布了JasperReport 6.1.1等。

http://www.dynamicreports.org/news

并且要添加的库应该如下。我犯了同样的错误,并通过加载这些库来解决它,我希望它能有所帮助。

柳项明
2023-03-14

从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时,我经常会偶然发现此错误。它是这样的: 只是一个例子,我见过很多不同的例子。在这种情况下,导致错误的代码是: 一旦将语句放入块中,错误总是消失并且代码编译并成功运行。有时对我来说已经足够了,但有时却不行。 首先,我从中学习的示例并不总是使用,但是显然应该可以使用。 更重要的是,有时当我将整个代码放在中时,它根本无法工作。例如在这种情况下,我需要; 在区块中;但如果上述本

  • 问题内容: 我收到了一个未报告的异常;必须在下面的fill方法中被捕获或声明为抛出错误。从我读过的类似文章中,我假设错误是由read方法引发Exception引发的,但我无法修复。 填充定义为: 问题答案: 您的call ,它被声明为throw ,但是您既没有捕获witin异常,也没有声明它可能被抛出。 最简单的解决方法是将的签名更改为: 我也强烈建议 不要 关闭中的读者。通常,获取资源的相同代码

  • 问题内容: 我想打开一个文件并对其进行扫描以打印其令牌,但出现错误:未报告的异常java.io.FileNotFoundException; 必须被捕获或声明为抛出Scanner stdin = new Scanner(file1);该文件与正确的名称位于同一文件夹中。 问题答案: 您正在使用的构造函数将引发FileNotFoundException,您必须在编译时捕获该异常。 上面的表示法(在括

  • 然而,试图使用jsp与bean交互时,在运行它时会出现一些错误。 下面是我在浏览器中看到的错误 生成的servlet错误:[javac]c:\sun\appservernew\domains\domain1\Generated\jsp\j2ee-apps\converterapp\war-ic_war\org\apache\jsp\index_jsp.java:24:未报告的异常javax.ejb

  • 背景: 下面的函数使用一个熊猫数据帧,并将其重命名为,同时对其应用2x条件。 功能: 我的问题: 虽然我的代码工作正常,但我想知道是否有一种简单且更有说服力的方法可以将2x条件应用于DataFrame并重新保存它?目前,我只是重新保存了两次,这似乎相当混乱。或者也许我错了,这是将条件应用到DataFrame的正确方法?

  • 我怎样才能解决那个错误呢?