0

我创建了一个带有类的简单 .jar,以通过 scriptlet 处理 Jasper 报告中的参数。我已将 .jar 添加到报告项目的构建路径中。

.jar 使用 JDK 1.7 编译,Jasper 项目的执行环境设置为 JRE 1.7,Java Compiler 合规级别为 1.7。JAVA_HOME 指向 jdk 1.7。

当尝试通过 scriptlet 参数访问 .jar 时,JasperStudio 仍然抱怨 Unsupported major.minor 版本 51.0。

JasperStudio 使用 jdk 1.6 吗?!我想我已经通过为项目设置所有相关的 Java 属性来确保它不会。

我的电脑甚至没有java 1.6。

显然 JasperStudio 的某些东西仍然覆盖了我的 jre/jdk 选择,但我不知道在哪里/如何。请给我你的建议,看看在哪里。谢谢一百万

4

1 回答 1

0

当编译的类版本 (JDK) 与执行的类版本 (JDK) 不匹配时,会发生此异常。Jasperserver 内部有一个内置的 JRE。请确认 jasperserver JDK 版本和已安装的 JDK 版本 (Oracle)。

要解决实际问题,您应该尝试使用较新版本的 Java JRE 运行 Java 代码,或者为 Java 编译器指定目标参数以指示编译器创建与早期 Java 版本兼容的代码。

例如,为了生成与 Java 1.4 兼容的类文件,请使用以下命令行:

javac -target 1.4 HelloWorld.java

这里的 1.4 指的是 Jasper Server 的 JDK 版本。

于 2014-10-30T07:51:20.973 回答