java - Jasper Reports 是否适用于 Java 9

标签 java jasper-reports java-9

我在使用 Japser Reports 和 Java 9 时遇到问题。

我的 Jasper 版本:

 <dependency.version.jasper>6.5.1</dependency.version.jasper>

当尝试构建我的报告时,我收到以下错误消息:

An internal error occurred during: "Building report".
java.lang.UnsupportedClassVersionError: my/path/to/my/class/User has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0

发生错误可能是因为 Jasper 不支持 java 9 类。我找不到有关此主题的任何信息,有人知道如何编写解决方法还是我犯了其他错误?

编辑:

经过更多搜索后,我意识到问题只发生在 Eclipse 的设计器中,因此 Eclipse 本身很可能没有在 JVM 9 中运行。当我更改 eclipse.ini 文件时,我检查了当前安装的 java 版本,它是 java9:

-Dosgi.requiredJavaVersion=1.8

-Dosgi.requiredJavaVersion=1.9

我收到一个不兼容的 jvm 错误,表明我正在尝试使用 1.8.0_161 启动它。我如何更改我的 Eclipse 实际上使用当前 JDK 的设置?

已解决: 错误是我的 Eclipse 本身只能在 Java8 中运行。所以我的应用程序正在 Java9 中构建所有内容,就像我想要的那样,但是当我在 jasperReports Designer 中时,设计器本身在 java8 中运行。这就是它崩溃的原因。解决方案是更改系统变量并将我的 JavaPath 置于由于某种原因具有更高优先级的 Oracle JavaPath 之上。

最佳答案

代码是在 Java 版本 9 中编译的,但在 Java 8 JVM 中执行的,这不一定有效。尝试在 Java 8 中编译它,或在 Java 9 JVM 中执行它。

关于java - Jasper Reports 是否适用于 Java 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49693392/

相关文章:

maven - 在 JShell 中,如何从 Maven 项目导入类路径

macos - 如何在 Mac 上访问 Java 9 Jshell

Java for循环跳过运行两次

java - 是否可以从构造函数中初始化的 .ui.xml 引用字段变量?

Java Socket 延迟(续)

jasper-reports - 使用 JasperReports 修复 Excel 中的标题

java - 基于 Applet 的 Jasper 报告!

Java父类(super class)扩展

jasper-reports - 获取 Jasper Reports 表中第一行和最后一行的第一个字母

Java 9 和 tomcat 7.0.73