首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Websphere上使用Jasper-Reports时出现"Bad using version“错误

在Websphere上使用Jasper-Reports时出现"Bad using version“错误
EN

Stack Overflow用户
提问于 2012-02-24 20:44:03
回答 1查看 2.2K关注 0票数 1

当我尝试在Websphere 6.1上运行的Servlet中填充JasperReport时,我得到了一个UnsupportedClassVersionError: Bad major version at offset=6

我猜编译后的JasperReport有一个不同的版本(Java6?)比websphere上的jre可以执行的多(可能是java5),但是我不知道为什么。使用maven或在应用程序中(在servlet中)编译报告都会导致错误。

根据JasperReports提供的演示,它还展示了如何在Java1.5中使用它,我在jasperreports.properties中添加了以下配置:

代码语言:javascript
复制
org.eclipse.jdt.core.compiler.source=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.codegen.TargetPlatform=1.5

但是这个错误仍然存在。

报告中使用的语言是Java,那么使用哪个编译器是正确的?net.sf.jasperreports.engine.design.JRJdtCompiler还是net.sf.jasperreports.engine.design.JRJavacCompiler

不幸的是,文档并没有解释这两个编译器之间的区别...

编辑:所以我一直在用JRJavacCompiler。对于JRJdtCompiler,我得到了一个NullPointer异常:

代码语言:javascript
复制
 java.lang.NullPointerException
    at java.lang.Class.isAssignableFrom(Native Method)
    at net.sf.jasperreports.engine.fill.JRFillTextField.getFormat(JRFillTextField.java:706)
    at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:394)
    at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:368)
    at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2036)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:760)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:270)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
    at com.swissre.sod.jone.web.server.FileStreamingServlet.doGet(FileStreamingServlet.java:48)
EN

回答 1

Stack Overflow用户

发布于 2012-02-24 22:29:09

这可能是因为您在应用程序中使用了用java6编译的库。

您可以检查您的依赖项的清单信息以了解更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9430983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档