【问题标题】:How to configure compile-jre on build agents?如何在构建代理上配置 compile-jre?
【发布时间】:2013-08-05 13:58:52
【问题描述】:

我们的开发环境由多个构建安装程序介质的构建代理组成。今天,我们在其中一个构建代理的 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 与安装后使用的 jre 相同。无论构建代理如何配置(x64 或 x32)。

希望问题是可以理解的。

问候
哈迪

【问题讨论】:

    标签: build java install4j


    【解决方案1】:

    在“常规设置->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>
    

    【讨论】:

    • 嗨英戈。该解决方案无法满足我们对构建的要求。我们在 maven 构建过程中提取 install4j zip 文件,并且不会将其安装到每台无头机器上,因此我们可以快速更改构建代理,而无需手动配置太多。那么是否可以在 sonatype 的 maven 插件或命令行中配置 config.xml 的路径?
    • 不,您必须在解压缩 install4j ZIP 文件后自己进行修改。
    猜你喜欢
    • 2012-11-07
    • 2021-05-21
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    • 2019-08-25
    • 1970-01-01
    • 2011-06-30
    相关资源
    最近更新 更多