Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么会出现异常java.lang.NoClassDefFoundError org/codehaus/groovy/?_Java_Groovy_Jasper Reports - Fatal编程技术网

为什么会出现异常java.lang.NoClassDefFoundError org/codehaus/groovy/?

为什么会出现异常java.lang.NoClassDefFoundError org/codehaus/groovy/?,java,groovy,jasper-reports,Java,Groovy,Jasper Reports,我刚刚尝试了Jasper Report,我正在学习 我还下载了示例源代码,然后运行它,没有得到任何错误。但是,当我使用iReport创建自己的报告时,编译它,并将.jasper文件添加到我的项目中。运行程序时出现异常: Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/callsite/CallSiteArray at report2_134

我刚刚尝试了Jasper Report,我正在学习

我还下载了示例源代码,然后运行它,没有得到任何错误。但是,当我使用
iReport
创建自己的报告时,编译它,并将
.jasper
文件添加到我的项目中。运行程序时出现
异常

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/callsite/CallSiteArray
    at report2_1343895135169_749208.$createCallSiteArray(calculator_report2_1343895135169_749208)
    at report2_1343895135169_749208.$getCallSiteArray(calculator_report2_1343895135169_749208)
    at report2_1343895135169_749208.<init>(calculator_report2_1343895135169_749208)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.loadEvaluator(JRAbstractJavaCompiler.java:112)
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.loadEvaluator(JRAbstractCompiler.java:333)
    at net.sf.jasperreports.engine.JasperCompileManager.getEvaluator(JasperCompileManager.java:265)
    at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:457)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:379)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:88)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:103)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:61)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:153)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:82)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:634)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:956)
    at View.MainGUI.btnExportActionPerformed(MainGUI.java:871)
    at View.MainGUI.access$800(MainGUI.java:50)
    at View.MainGUI$10.actionPerformed(MainGUI.java:541)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:6267)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6032)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.callsite.CallSiteArray
    at java.lang.ClassLoader.findClass(ClassLoader.java:359)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    ... 50 more

如果是
依赖性问题
问题,我已经将所有必需的jar导入到我的项目中,当我使用该教程中的
.jasper
文件时,没有问题,是因为
iReport
的版本不同还是其他原因

您需要使用CallSiteArray类添加Jar包


这可能是因为版本不匹配。 如果您想知道您需要哪一版本的Groovy,只需查看Jasper的Maven存储库:


从这里您可以看到,您需要Groovy 1.7.5用于Jasper 4.6.0

或者,您可以更改.jrxml文件,查找

language="groovy"
并将其更改为

language="java"

我在使用Jasper iReport Tool 5.6.0时也遇到了同样的问题,我的语言是Java,正确的Jasper report library我降到了iReport Tool 5.1.0,它工作得很好…希望状态保持不变..

无需更改库,对于Ireport 5.X版本,您可以在主报表属性的“语言”部分对其进行更改,只需从groovy更改为java,报表不会给出任何错误。

简单回答

步骤:

1从报告检查器中选择根文件夹,即report1.jsxml (Windows->报告检查器) 2转到属性选项卡,单击语言选项卡,然后选择JAVA

编译并预览已启动的应用程序


对子报表也执行相同操作…

类路径中是否包含jar groovy?看,是的,我有groovy-all-1.5.5.jar,我说最低要求是groovy-all-1.5.5.jar,但有一个例外,当我使用groovy-2.0.1.jar时,它解决了可能的重复&我已经下载了新的
groovy
,它可以工作了,谢谢!这对我有用。我使用的是Jasper5.6.0,我得到了Groovy1.7.5,但在检查mvnrepository之后,我意识到并改为Groovy2.0.1。
language="java"