Java 11 Jasper report compilation error: org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
Java 11 Jasper report compilation error: org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
在 Java11 中编译 jasper 报告时出现以下错误:
ERROR [net.sf.jasperreports.engine.design.JRJdtCompiler] (default
task-94) Compilation error:
org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
[Server:app-node-00] at
deployment.app.ear//org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.(ClassFileReader.java:329)
[Server:app-node-00] at
deployment.app.ear//net.sf.jasperreports.engine.design.JRJdtCompiler.findType(JRJdtCompiler.java:251)
[Server:app-node-00] at
deployment.app.ear//net.sf.jasperreports.engine.design.JRJdtCompiler.findType(JRJdtCompiler.java:187)
[Server:app-node-00] at
deployment.app.ear//org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:97)
我们正在使用 jasperreports-javaflow-6.5。1.jar。
org.tolven.library.jboss-rules.core-3.2.3.v_686_R32x.jar,假设它与 the one here, seems to be a very old (released in 2007) 无法读取的 JDT 编译器实现相同的文件 类 为 Java 11.
编译
对于 Java 11,您需要更新的 JDT 版本,例如 4.4.2。但随后存在依赖于 3.2.3 JDT 实现的代码不再适用于更新的 JDT 版本的风险,在这种情况下我不知道你能做什么。
您可能还需要升级 JasperReports 版本,根据 the change log 对 Java 11 的支持已在 6.8.0 中引入。
在 Java11 中编译 jasper 报告时出现以下错误:
ERROR [net.sf.jasperreports.engine.design.JRJdtCompiler] (default task-94) Compilation error: org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException [Server:app-node-00] at deployment.app.ear//org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.(ClassFileReader.java:329) [Server:app-node-00] at deployment.app.ear//net.sf.jasperreports.engine.design.JRJdtCompiler.findType(JRJdtCompiler.java:251) [Server:app-node-00] at deployment.app.ear//net.sf.jasperreports.engine.design.JRJdtCompiler.findType(JRJdtCompiler.java:187) [Server:app-node-00] at deployment.app.ear//org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:97)
我们正在使用 jasperreports-javaflow-6.5。1.jar。
org.tolven.library.jboss-rules.core-3.2.3.v_686_R32x.jar,假设它与 the one here, seems to be a very old (released in 2007) 无法读取的 JDT 编译器实现相同的文件 类 为 Java 11.
编译对于 Java 11,您需要更新的 JDT 版本,例如 4.4.2。但随后存在依赖于 3.2.3 JDT 实现的代码不再适用于更新的 JDT 版本的风险,在这种情况下我不知道你能做什么。
您可能还需要升级 JasperReports 版本,根据 the change log 对 Java 11 的支持已在 6.8.0 中引入。