我正在使用 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/