首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JasperReport错误计算表达式:源文本:新java.lang.Integer(1)

JasperReport错误计算表达式:源文本:新java.lang.Integer(1)
EN

Stack Overflow用户
提问于 2013-08-05 15:18:13
回答 3查看 36.2K关注 0票数 1

我正在使用JasperSoft Studio 5.1.0创建我的报告。这是我用过的图书馆

  • 公域-beanutils-1.8.3.jar公域-grations.jar公域-digester-1.7.jar公域-javaflow-20060411.jar公域-logging-1.1.3.jar groovy-all-1.7.jar itext-2.1.7.jar jasperreports-5.1.0.jar

我正在尝试使用参数,当我在JasperSoft Studio上看到预览时,它没有显示任何错误,但是当我试图从我的程序中打印时,它显示了一个错误,如下所示:

net.sf.jasperreports.engine.fill.JRExpressionEvalException:错误计算表达式:源文本:新java.lang.Integer(1)

我在执行的程序中使用的代码如下所示

代码语言:javascript
运行
复制
try
{
   String NamaFile = "src/Laporan Penawaran.jasper";
   Class.forName("com.mysql.jdbc.Driver").newInstance();
   Connection konek = Koneksi.getKoneksi();
   HashMap hash = new HashMap();
   hash.put("param1",no_tender.getText());

   File file = new File(NamaFile);
   JasperReport jasperReport = (JasperReport) JRLoader.loadObject(file.getPath());
   JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hash,konek);
   JasperViewer.viewReport(jasperPrint);
} catch(Exception ex) {
   System.out.println(ex);
}

我只是想知道我的jasper文件可能是错误,但是当我试图擦除所有字段并且只使用静态文本时,错误仍然存在。我该怎么做?

EN

回答 3

Stack Overflow用户

发布于 2013-08-05 23:19:46

好吧,我只是尝试将groovy--全部更新到版本2。

注意:确保您正在为每个库使用特定的版本,不知怎么说,新的版本并不总是与您的报告匹配。

票数 1
EN

Stack Overflow用户

发布于 2016-08-31 08:30:29

修正:我将字段类型从java.math.BigInteger更改为java.math.BigDecimal

票数 0
EN

Stack Overflow用户

发布于 2015-12-17 08:04:14

下面的是我能够识别问题的整个堆栈跟踪。

代码语言:javascript
运行
复制
net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : 
    Source text : new java.lang.Integer(1)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:782)
    at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331)
    at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:384)
    at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:358)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:458)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnHeader(JRVerticalFiller.java:502)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:284)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:151)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:932)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:651)
    at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
    at net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner.run(AbstractThreadSubreportRunner.java:203)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: 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)
    ... 8 more
Caused by: java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/BytecodeInterface8
    at ReconciliationDetail_UnclearedTxn_ChecksAndPayments_Count_1450338812203_279237.evaluateEstimated(calculator_ReconciliationDetail_UnclearedTxn_ChecksAndPayments_Count_1450338812203_279237:272)
    at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:295)
    ... 14 more
**Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.BytecodeInterface8**
    at java.lang.ClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 16 more

FIX为我工作,

  • 我已经更新了从"groovy""Java"的所有reports/subreports语言属性,并且它是固定的。
  • 虽然它看起来像是解决办法,但我建议更新库,它将包括jasperreports-5.1.2.jar中缺少的类。
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18061733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档