查看Jasper报告的异常“java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了查看Jasper报告的异常“java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2876字,纯文字阅读大概需要5分钟。
内容图文
![查看Jasper报告的异常“java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter”](/upload/InfoBanner/zyjiaocheng/792/9ea48bba5ee84430b67d05e773b17154.jpg)
我正在使用Jasper Reports并在我的类路径中使用以下库
jasperreports-4.5.1.jar
common-digester3-3.2.jar
common-digester2.1.jar
castor-1.2.jar
commons-beanutils-1.8..0.jar
commons-collections-2.1.1.jar
commons-logging-1.1.1.jar
groovy-1.2.6.jar
asm-2.2.3.jar
asm-3.1.jar
asm-all-3.1.jar
antlr-3.3.1.1.jar
jtds-1.2.5.jar
我得到以下异常
Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
at org.codehaus.groovy.control.CompilationUnit.createClassVisitor(CompilationUnit.java:791)
at org.codehaus.groovy.control.CompilationUnit$14.call(CompilationUnit.java:755)
at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:967)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:546)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:524)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:501)
at net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:96)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:188)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:212)
at Utilities.ReportDriver.runReport(ReportDriver.java:81)
at jewelleryerpapplication.GUI.MainReports.jbtnViewReportActionPerformed(MainReports.java:544)
at jewelleryerpapplication.GUI.MainReports.access$100(MainReports.java:18)
at jewelleryerpapplication.GUI.MainReports$2.actionPerformed(MainReports.java:210)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
执行以下代码:
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, param, jdbcConnection);
JasperViewer.viewReport(jasperPrint);
我做错了什么?我该如何解决这个问题或进一步调试呢?
解决方法:
请注意,您列出了两个不同版本的ASM.这是该库的一个非常常见的问题,因为许多其他库在底层使用它,因为Java的类路径机制不允许使用同一个库的不同版本. (这种情况一直发生在Groovy和Hibernate之间.)因此,当您设置类路径时,一个库需要2.2.3版本,而一个库需要3.1.但是,在查找类时,类路径中的第一个获胜.在你的情况下,Groovy试图在ClassWriter上调用一个构造函数,该构造函数在获胜的版本中不存在(2.2.3,如果你以实际的类路径顺序列出它们).当你遇到这种情况时,需要不同的版本,你所能做的就是选择一个版本并交叉手指.试试看它是否适用于你需要的任何地方.最有可能的是,如果您使用较新的ASM版本(3.1),一切都会好的.无论如何,那是我的经历.如果找不到适用于所有内容的版本,则可能会出现一个大问题.
内容总结
以上是互联网集市为您收集整理的查看Jasper报告的异常“java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter”全部内容,希望文章能够帮你解决查看Jasper报告的异常“java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。