build - 如何在构建代理上配置compile-jre?

标签 build java install4j

我们的开发环境由多个构建安装程序介质的构建代理组成。今天,我们在其中一个构建代理的 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构建期间提取(阶段:进程资源),并且稍后将作为捆绑的jre包含在安装程序中应用程序。然后我们可以确保应用程序使用与安装后使用的相同的 jre 进行编译。无论构建代理如何配置(x64 或 x32)。

希望这个问题是可以理解的。

问候
哈迪

最佳答案

在“常规设置->Java版本”步骤中,您可以配置用于脚本编译的JDK或JRE。默认情况下,它设置为“当前使用的 JRE”,即 install4j IDE 和命令行编译器运行时使用的 JRE。

为了使编译更具确定性,请切换到已配置的 JDK。项目中只会保存指定的 JRE 名称(例如“JDK 1.7”),实际的 JRE 必须在每台机器上进行配置,然后对所有项目全局相同。

如果您在 headless 计算机上进行编译,请编辑 $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>

关于build - 如何在构建代理上配置compile-jre?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18060075/

相关文章:

java - 更新USB设备列表

Install4j桌面复制快捷方式

linux - 如何从构建目录中的 src 目录制作?

java - 仅构建 MANIFEST.MF 的 Ant 任务

eclipse - 使用检测文件调试 Gradle 应用程序

java - 如何计算 MultiMap 中每个值的出现次数? ( java )

java - Neo4JTemplate 在一个查询中创建并获取 Id - Spring Data Neo4j 4.0.0.M1

git - 从 TFS 构建过程推送到 git 存储库

java - 我可以选择哪些选项来暂停更新程序安装程序的下载?

install4j - install4J打包的jar文件有权限限制