java - Jasper 报告在 netbeans 中工作正常,但在部署为 jar 应用程序时出现异常

标签 java swing jasper-reports ireport

我正在使用 java swings 和 jasper reports 进行最后一年的项目。当我在 netbeans 中运行应用程序时,包括报告的应用程序工作正常,但当我将其部署到 jar 文件然后尝试执行它时使用我的命令提示符,我看到了这个巨大的异常文本。

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
        at java.lang.Class.getConstructor0(Unknown Source)
        at java.lang.Class.newInstance0(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:472)
        at net.sf.jasperreports.engine.JasperCompileManager.loadEvaluator(JasperCompileManager.java:238)
        at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:421)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:428)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:76)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:86)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:56)
        at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
.
.
.
.
....54 more

以下函数调用 jasper 报告:

    public void printReport(String adID){
       try {
            Map parameters = new HashMap();
            InputStream jasperIS =this.getClass().getResourceAsStream("/Reports/AllHoardings.jasper");
            User connect=new User();
            JasperPrint print=JasperFillManager.fillReport(jasperIS,parameters,connect.getConnection());
            JasperViewer.viewReport(print,false);
        }catch(JRException je){
            System.out.println(je.toString() +" @ line 2043");
        }catch (Exception e) { System.out.println(e.toString());       }
    }

图像链接:

The Snap Shot

<小时/>

netbeans 中的目录列表

图像链接:

Project directory listing in netbeans

<小时/>

在我的 jar 文件内

图像链接:

Inside the jar file

最佳答案

java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException

此错误向我表明 NetBeans 正在以一种与 JAR 文件不同的方式解决 Groovy 和 Jasper Reports 的问题。检查您的 JAR list 中是否缺少与 Groovy 相关的 JAR。如果是,请添加它们。

关于java - Jasper 报告在 netbeans 中工作正常,但在部署为 jar 应用程序时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233310/

相关文章:

java - 我们可以在抽象类中使用静态方法吗?

java - 如何在 PHP 中使用 passthru 显示 javac 错误消息?

java - 如何限制 Android 设备不打开某些特定网站,例如 youtube、facebook

jasper-reports - 在 iReport 中管理组

java - 如何在 jasper report ireport designer 4.5.0 中将时间戳转换为日期

java - 如何正确转换为日期对象这个 "strange"单元格值检索使用 Apache POI 解析 Excel?

java - JLabel 中的 HTML 文本忽略与 text-align : center 的对齐

java - 如何使用 awt.Robot 以 native hdpi 分辨率捕获屏幕截图?

java - 更改 nimbus 上的桌面 Icon.width

jasper-reports - DynamicJasper 和亚洲字符