使用iReport-5.1.0 创建一个报表,工程加载的部分jar包如下:

commons-beanutils-1.9.2.jar

commons-digester-2.1.jar

groovy-all-1.7.5.jar

iText-2.1.7.js2.jar

iTextAsian.jar

jasperreports-5.2.0.jar

jasperreports-fonts-5.2.0.jar

运行程序后,从控制台打印出出下的异常信息

net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : 

 Source text : new java.lang.Integer(1)

 at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:308)

 at net.sf.jasperreports.engine.fill.JRCalculator.evaluateEstimated(JRCalculator.java:582)

 at net.sf.jasperreports.engine.fill.JRCalculator.estimateVariables(JRCalculator.java:181)

 at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1234)

 at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1208)

 at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1577)

 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:149)

 at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:932)

 at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)

 at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:88)

 at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)

 at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:969)

 ...............................................

 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

 at java.lang.Thread.run(Thread.java:744)

Caused by: java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/BytecodeInterface8

 at report1_1471315459008_974219.evaluateEstimated(calculator_report1_1471315459008_974219:3722)

 at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:295)

 ... 96 more

Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.BytecodeInterface8

 at java.lang.ClassLoader.findClass(ClassLoader.java:531)

 at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

 at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

 ... 98 more

解决方法:

    把groovy-all从1.7.5升级到2.0.1版本,程序运行正常。


注意:本文归作者所有,未经作者允许,不得转载