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 call
at java.lang.Clas
s.forName0(Native Method)
at java.lang.Clas
s.forName(Clas
s.java
:16
9)at groovy.lang.
MetaClassRegistry$
MetaClassCreationHandle.create(
MetaClassRegistry.java
:118)
at org.codehau
s.groovy.reflection.ClassInfo.get
MetaClassUnderLock(ClassInfo.java
:152)
at org.codehau
s.groovy.reflection.ClassInfo.get
MetaClass(ClassInfo.java
:183)
at org.codehau
s.groovy.runtime.
Metaclas
s.MetaClassRegistryImp
l.get
MetaClass(
MetaClassRegistryImp
l.java:206)
at org.codehau
s.groovy.runtime.Invoker
Helper.get
MetaClass(Invoker
Helper.java:69
9)at org.codehau
s.groovy.runtime.callsite.CallSiteArray.createPojoSite(CallSiteArray.java
:107)
at org.codehau
s.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java
:148)at org.codehau
s.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java
:40)
at org.codehau
s.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java
:117)
at org.codehau
s.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java
:125)
at Simple
test_1254369426034_5
80176.initParams
(calculator_Simple
test_1254369426034_5
80176:68)
at Simple
test_1254369426034_5
80176$initParam
s.callCurrent(Unk
Nown
sourcE)at org.codehau
s.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java
:44)
at org.codehau
s.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java
:143)
at org.codehau
s.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java
:151)
at Simple
test_1254369426034_5
80176.customizedInit
(calculator_Simple
test_1254369426034_5
80176:57)
at net.sf.jasperreport
s.ENGIne.fil
l.JREvaluator.init(JREvaluator.java:83)
at net.sf.jasperreport
s.ENGIne.fil
l.JRCalculator.init(JRCalculator.java:95)
at net.sf.jasperreport
s.ENGIne.fil
l.JRFillDataset.initCalculator(JRFillDataset.java
:428)
at net.sf.jasperreport
s.ENGIne.fil
l.JRBaseFiller.<init>(JRBaseFiller.java:565)
at net.sf.jasperreport
s.ENGIne.fil
l.JRVerticalFiller.<init>(JRVerticalFiller.java:74)
at net.sf.jasperreport
s.ENGIne.fil
l.JRVerticalFiller.<init>(JRVerticalFiller.java:56)
at net.sf.jasperreport
s.ENGIne.fil
l.JRFiller.createFiller(JRFiller.java
:143)
at net.sf.jasperreport
s.ENGIne.fil
l.JRFiller.fillReport(JRFiller.java:7
9)at net.sf.jasperreport
s.ENGIne.JasperFillManager.fillReport(JasperFillManager.java:6
24)
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