我在使用 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/