今天在调试iReport 3.7.5时,忽然报这样一个错:
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.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:81)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass(MetaClassRegistryImpl.java:252)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100(MetaClassRegistryImpl.java:45)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal(MetaClassRegistryImpl.java:112)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass(MetaClassRegistryImpl.java:88)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass(MetaClassRegistryImpl.java:361)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:265)
at org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:764)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:753)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:167)
at cps_ticket_1288087273585_76608.initParams(calculator_cps_ticket_1288087273585_76608:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:226)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:910)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:77)
at cps_ticket_1288087273585_76608.customizedInit(calculator_cps_ticket_1288087273585_76608:78)
at net.sf.jasperreports.engine.fill.JREvaluator.init(JREvaluator.java:83)
at net.sf.jasperreports.engine.fill.JRCalculator.init(JRCalculator.java:109)
at net.sf.jasperreports.engine.fill.JRFillDataset.initCalculator(JRFillDataset.java:432)
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:589)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:77)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:87)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:57)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:78)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:605)
at com.bill99.cps.rat.srv.report.jasper.impl.AbstractJasperReportExporter.export(AbstractJasperReportExporter.java:88)
at com.bill99.cps.rat.srv.report.jasper.impl.ReportGeneratorImpl.generateReport(ReportGeneratorImpl.java:53)
at com.bill99.cps.rat.srv.report.impl.PortalReportServiceImpl.generateTicketReport(PortalReportServiceImpl.java:213)
at com.bill99.cps.rat.srv.report.impl.PortalReportServiceImpl.generateReport(PortalReportServiceImpl.java:87)
at com.bill99.cps.rat.srv.report.PortalReportServiceTest.persistReportPersistBill(PortalReportServiceTest.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
以调试后才知道maven的pom文件被同事增加一了些其它依赖,而其它依赖又间接地依赖较低版本的json版本(2.1),而iReport3.7.却要求2.1以上版本的json。问题既然找到,在那个依赖中把较低版本的joson排除即可,如下:
<dependency>
<groupId>com.bill99.steel</groupId>
<artifactId>steel-old-comp</artifactId>
<version>1.0.0-SNAPSHOT</version>
[color=red] <exclusions>
<exclusion>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
</exclusion>
</exclusions>[/color]
</dependency>
分享到:
相关推荐
ireport宋体显示异常,加粗失效,字体变形,加入此jar即可解决
在自有房产明细报表中,我们可以使用子报表技术来实现行单元格合并问题,例如房产信息与财务信息的多对一关系。 结论 iReport 子报表技术是一种功能强大且灵活的报表设计技术,能够帮助我们创建复杂的报表,实现多...
第一个问题是 iReport 在 Windows 下打印功能正常,而部署到 Linux 下后出现 "Font '宋体' is not available to the JVM" 等问题。这是因为原框架中 iReport 的环境 jar 包中默认从系统中获取字体环境,而在 Windows...
在IReport中,首先需要创建一个新的报表模板。打开IReport软件,选择“新建”选项,然后选择合适的报表类型(例如,如果需要生成表格,可以选择“表格报告”)。接着,设定报表的基本属性,如宽度、高度、页面边距等...
总的来说,iReport 5.0.1是一个适用于Windows操作系统的报表开发工具,具有易用的图形界面和强大的报表设计能力。其5.0.1版本提供了一系列改进和增强,确保了在Windows平台上的稳定性和兼容性。通过提供的安装包,...
IREPORT 问题解决方法可以分为乱码问题解决方法、画线注意事项、字段、线高度的设置、IREPORT 表达式、显示的数据自动折行、Styles 风格、报表中新建样式的设置、报表中统一字体的设置和字符集包引入等几个方面。...
iReport是一款强大的报告设计工具,尤其在Java世界中广受欢迎,因为它可以与JasperReports库无缝集成,用于创建复杂的报表和图表。iReport 4.5.1是该软件的一个版本,它提供了一种免安装的下载方式,使得用户可以在...
主要是为了提供一个快速参考指南,帮助开发者识别和修复在报表开发过程中遇到的细节问题,如数据为空时的处理、分页设置、字体错误等。 1.2 参考资料: 开发者应首先了解 ireport 的基础资料,这将帮助他们了解...
6. **丰富的社区支持**:iReport背后有一个活跃的开发者社区,提供各种教程、示例和插件,帮助用户解决遇到的问题,不断扩展工具的功能。 然而,4.0.2版本后的叠字问题提醒我们,即使强大如iReport,也可能存在瑕疵...
- IREPORT提供了一个可视化的界面,允许你通过拖放操作创建报表布局。了解各种组件,如文本框、表格、图表等,是报表设计的关键。 - 数据源管理是报表设计的核心,包括定义SQL查询或者使用预定义的数据集。理解...
在IT行业中,报告生成工具是数据可视化和报表设计的重要组成部分,而iReport是JasperReports库的一个图形化用户界面,允许开发人员创建复杂的报表。本文将深入探讨如何使用iReport生成一维码和二维码,以及涉及到的...
标题"Ireport"指的是开源报表设计工具iReport,它是一个用于创建JasperReports的图形化界面工具。iReport允许用户设计复杂的报表布局,包括表格、图表、文本框等元素,并能够与Java应用程序、Web应用程序以及数据库...
14. **禁用插件**:部分第三方插件可能与IReport内置功能冲突,导致中文显示异常,尝试禁用或替换插件。 十五、系统语言设置 15. **系统语言设置**:确保你的操作系统语言设置与报表设计的语言一致,避免因语言差异...
iReport-5.1.0和iReport-5.6.0
在使用iReport设计报表时,有时会遇到一个问题,即如何处理相同列的合并。这个问题在传统的表格布局中可能不那么突出,但在复杂报表设计中,尤其是数据分组时,重复列的合并显得尤为重要,因为它可以有效地节省空间...
首先,iReport是JasperReports的一个集成开发环境,用于设计和编辑复杂的报表模板。它支持多种输出格式,包括PDF、HTML、Excel等。当输出为PDF时,iReport依赖于Apache FOP( Formatting Objects Processor)或者...
iReport的出现解决了这一问题,为用户提供了直观的拖放式设计界面,使得非程序员也能轻松创建和编辑报表。 在安装iReport-5.6.0的过程中,你需要下载提供的`iReport-5.6.0-windows-installer.exe`文件,这是一个...
iReport 最全打印归纳 iReport 是一个基于 Java 语言编写的报表引擎,用户可以按照它制定的规则编写一个 XML 文件,生成...iReport 是一个功能强大且灵活的报表引擎,可以满足各种报表需求,帮助用户快速生成报表。
1. **新建报表文件**:通过iReport创建一个新的报表文件。 2. **添加文本元素**:在报表设计区域内添加文本框,输入静态文本。 3. **添加字段**:从数据源中选择字段并将其添加到报表中。 4. **预览报表**:使用...
为了简化管理和维护,还可以考虑使用构建工具(如Maven或Gradle)来自动管理这些依赖,并生成一个包含所有必需库的WAR文件,这样可以避免因手动管理JAR包而产生的问题。 总的来说,iReport的Web程序所需JAR包涉及了...