我正在Linux上使用Jasper Studio 6.6.0。我有使用OpenJDK 10编译的Java EE项目。我需要编辑现有报告以反映一些新功能。该报告正在从提到的项目的领域模型(例如A类)中获取参数-对象。
项目作为“外部类”文件夹添加到Jasper Studio Project中。当我在Jasper Studio中打开类文件夹时,可以看到类已正确加载,并且使用正确的完全分类名称引用了使用的对象。
问题在于Jasper Studio由于使用捆绑的JRE 8而无法编译报表。
java.lang.RuntimeException:java.lang.UnsupportedClassVersionError :(出于隐私原因删除类名)已由Java Runtime的最新版本(类文件版本54.0)进行了编译,版本的Java Runtime仅能识别52.0以下的类文件版本
我尝试将Project-> Properties-> Java Compiler-> Compiler Compliance Level设置为10。这将产生消息
选择10个合规性时,请确保已安装并激活了兼容的JRE(当前为1.8)。配置“已安装的JRE”和“执行环境”,或在Java构建路径上更改JRE。
单击已安装的JRE或执行环境,将弹出Java Ant设置,看起来像是错误的设置窗格。
在Java Build Path上编辑JRE时,我有3个选项可供选择
执行环境:
可以使用各种环境,但是JavaSE-10具有(未绑定)后缀,选择后缀会导致错误
工作空间中没有与指定执行环境兼容的JRE:JavaSE-10
备用JRE :
仅提供一个1.8 JRE。单击“已安装的JRE”按钮将弹出Java Ant设置
工作区默认JRE :
与备选JRE选项中的一个JRE相同,但是它不可编辑。
尝试在Jasper Studio.ini文件中将OpenJDK10设置为vm参数会导致Jasper Studio在启动期间崩溃。
AFAIK Jasper Studio基于Eclipse。 Eclipse在Java属性下具有Installed JREs设置窗格。但是,看起来Jasper Studio删除了此设置。
在JasperStudio中可以使用JDK8 +编译类吗?