当在程序中使用jasperreport加载模板时报class: groovy/runtime/
java.lang.VerifyError: (class: groovy/runtime/metaclass/java/util/HashMapMetaClass,method: super$2$invokeMethod signature: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;ZZ)Ljava/lang/Object Illegal use of nonvirtual function callat java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:118) at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:152) at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:183) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:206) at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:699) at org.codehaus.groovy.runtime.callsite.CallSiteArray.createPojoSite(CallSiteArray.java:107) at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:148) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at SimpleTest_1254369426034_580176.initParams(calculator_SimpleTest_1254369426034_580176:68) at SimpleTest_1254369426034_580176$initParams.callCurrent(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151) at SimpleTest_1254369426034_580176.customizedInit(calculator_SimpleTest_1254369426034_580176:57) at net.sf.jasperreports.engine.fill.JREvaluator.init(JREvaluator.java:83) at net.sf.jasperreports.engine.fill.JRCalculator.init(JRCalculator.java:95) at net.sf.jasperreports.engine.fill.JRFillDataset.initCalculator(JRFillDataset.java:428) at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:565) at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:74) at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:56) at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:143) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:79) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624) ps. I don't know what issue type I have to tag,please forgive if this is not a bug. ? 看了这个错误:我们根据错误提示信息都会以为是japserreport用到了groovy包导致的错误。所以一定会找groovy包的原因。 其实我们更细致一点groovy/runtime/metaclass/java/util/HashMapMetaClass 根据这个路径我们会发现这个类在json.jar包下面,而之所以出现这个原因是json.jar版本太低了。升级json.jar版本即可。 ?参考老外文章:http://jira.codehaus.org/browse/GROOVY-3802 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |