Java 在Eclipse NoClassDefFoundError中使用Jasper报告时出现问题
因此,当我想在Eclipse应用程序中使用Jasper Reports时,我遇到了一个问题。 当我想写PDF时,我总是会遇到以下错误 在我的应用程序中,该类确实存在,我可以使用它。 Jaspersoft Studio可以毫无问题地编译我的jasper文件。 当我想在Studio中进行预览时,会出现以下错误:Java 在Eclipse NoClassDefFoundError中使用Jasper报告时出现问题,java,eclipse,jasper-reports,pdf-generation,noclassdeffounderror,Java,Eclipse,Jasper Reports,Pdf Generation,Noclassdeffounderror,因此,当我想在Eclipse应用程序中使用Jasper Reports时,我遇到了一个问题。 当我想写PDF时,我总是会遇到以下错误 在我的应用程序中,该类确实存在,我可以使用它。 Jaspersoft Studio可以毫无问题地编译我的jasper文件。 当我想在Studio中进行预览时,会出现以下错误: net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalExcep
net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : $F{globalAngaben}.getPruefberichtnr()
at com.jaspersoft.studio.editor.preview.view.control.ReportControler.fillReport(ReportControler.java:466)
at com.jaspersoft.studio.editor.preview.view.control.ReportControler.access$18(ReportControler.java:441)
at com.jaspersoft.studio.editor.preview.view.control.ReportControler$4.run(ReportControler.java:333)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : $F{globalAngaben}.getPruefberichtnr()
at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:263)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:611)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:579)
at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:1016)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:504)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:488)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:456)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:354)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:290)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:152)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:963)
at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFiller.run(BaseFillHandle.java:120)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: com.systech.ge.client.dao.GlobalAngaben cannot be cast to com.systech.ge.client.dao.GlobalAngaben
at Gerentform_A4_1425317364309_973729.evaluate(Gerentform_A4_1425317364309_973729:215)
at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:250)
... 13 more
目前还没有找到解决方案。
也许这里有人有线索
到目前为止
编辑:
它会导致@fillReport崩溃。只是堆栈跟踪不会有特别的帮助。您的代码是什么导致这些错误的?对不起,完全忘记了。我通过插件和所有JAR添加依赖项。
net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : $F{globalAngaben}.getPruefberichtnr()
at com.jaspersoft.studio.editor.preview.view.control.ReportControler.fillReport(ReportControler.java:466)
at com.jaspersoft.studio.editor.preview.view.control.ReportControler.access$18(ReportControler.java:441)
at com.jaspersoft.studio.editor.preview.view.control.ReportControler$4.run(ReportControler.java:333)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : $F{globalAngaben}.getPruefberichtnr()
at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:263)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:611)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:579)
at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:1016)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:504)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:488)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:456)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:354)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:290)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:152)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:963)
at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFiller.run(BaseFillHandle.java:120)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: com.systech.ge.client.dao.GlobalAngaben cannot be cast to com.systech.ge.client.dao.GlobalAngaben
at Gerentform_A4_1425317364309_973729.evaluate(Gerentform_A4_1425317364309_973729:215)
at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:250)
... 13 more
JRBeanCollectionDataSource jrbcds = new JRBeanCollectionDataSource( Arrays.asList( fsureport ) );
JasperPrint jasperPrint;
Map< String, Object > parameter = new HashMap< String, Object >();
jasperPrint = JasperFillManager.fillReport( in, parameter, jrbcds );