1

我们的开发环境由几个构建安装程序介质的构建代理组成。今天,我们在其中一个构建代理的 install4j 中遇到了编译错误。类版本与某些自定义类不匹配。我们发现构建代理上安装的 jre 是一个 jre_1.6 x32 和一个 jre_1.7 x64。项目设置设置为创建一个最低 java 版本为 1.7 的 x32 安装程序介质。因此 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 编译,因为它将在安装后使用。无论构建代理如何配置(x64 或 x32)。

希望问题是可以理解的。

问候
哈迪

4

1 回答 1

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>
于 2013-08-08T15:09:02.580 回答