我们的开发环境由几个构建安装程序介质的构建代理组成。今天我们在其中一个构建代理程序的install4j中遇到了编译错误。类版本与某些自定义类不匹配。我们发现构建代理上安装的jre是jre_1.6 x32和jre_1.7 x64。项目设置已设置为创建x32安装程序介质,最小java版本为1.7。因此,install4j(%JAVA_HOME%等)的搜索算法使用jre_1.6 x32来编译代码。
现在问题:是否可以在maven构建过程中配置compile-jre?也许修改config.xml的路径从%User_Home%/。install4j5到%INSTALL4J_HOME%/ config?
我们环境的最佳解决方案是将compile-jre指向jre,jre将在maven构建期间(阶段:process-resources)提取,并且稍后将作为捆绑的jre包含在安装程序中应用程序。然后我们可以确保应用程序使用与安装后使用的jre相同的jre进行编译。无论构建代理程序如何配置(x64或x32)。
希望这个问题是可以理解的。
问候
哈迪
答案 0 :(得分:0)
在“常规设置 - > Java版本”步骤中,您可以配置将用于脚本编译的JDK或JRE。默认情况下,它设置为“当前使用的JRE”,即运行install4j IDE和命令行编译器的JRE。
要使编译更具确定性,请切换到已配置的JDK。只有JRE的指定名称(例如“JDK 1.7”)将保存在项目中,必须在每台机器上配置实际的JRE,然后对所有项目全局相同。
如果您在无头机器上进行编译,请修改$HOME/.install4j5/config.xml
并将jdks
元素设置为
<jdks>
<jdk name="JDK 1.7" id="1" javaHome="path/to/java/home"
version="1.7.0" jreOnly="false" />
</jdks>