首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用自定义JAVA_HOME和java.home从Ant运行Ant任务

使用自定义JAVA_HOME和java.home从Ant运行Ant任务
EN

Stack Overflow用户
提问于 2021-09-09 11:35:43
回答 1查看 39关注 0票数 2

上下文

我在一个依赖于库的存储库中将Java版本从8升级到17。我想用Java 17构建存储库,但用Java 8构建库,因为它不能用Java 8构建。

环境

Docker容器与Java 17,但也与Java 8。

问题

存储库通过在库中运行ant任务来构建库

代码语言:javascript
复制
<ant dir="${lib-build-top}" target="all"/>
<ant dir="${lib-build-top}" target="buildjars"/>

在终端中,可以用来构建图书馆

代码语言:javascript
复制
JAVA_HOME=path/to/jdk8 ant

所以我想做一些像这样的事情

代码语言:javascript
复制
set JAVA_HOME and java.home from jdk17 to jdk8
<ant dir="${lib-build-top}" target="all"/>
<ant dir="${lib-build-top}" target="buildjars"/>
change JAVA_HOME and java.home back to jdk17

我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-09 13:32:48

我认为唯一的方法是使用不同的JAVA_HOME环境变量派生一个新的Ant流程。在the documentation of 中甚至有这样一个运行Ant的例子

代码语言:javascript
复制
<condition property="jdk8-home"
           value="C:\Program Files\Java\jdk1.8.0_301">
    <os family="windows"/>
</condition>
<property name="jdk8-home" location="/usr/lib/jvm/java-8-openjdk-amd64"/>

<property name="ant-executable" location="${ant.home}/bin/ant"/>

<exec osfamily="unix" executable="${ant-executable}">
    <arg value="-buildfile"/>
    <arg file="${ant.file}"/>
    <arg value="all"/>
    <env key="JAVA_HOME" file="${jdk8-home}"/>
</exec>
<exec osfamily="windows" executable="cmd">
    <arg value="/c"/>
    <arg file="${ant-executable}.bat"/>
    <arg value="-buildfile"/>
    <arg file="${ant.file}"/>
    <arg value="all"/>
    <env key="JAVA_HOME" file="${jdk8-home}"/>
</exec>

<exec osfamily="unix" executable="${ant-executable}">
    <arg value="-buildfile"/>
    <arg file="${ant.file}"/>
    <arg value="buildjars"/>
    <env key="JAVA_HOME" file="${jdk8-home}"/>
</exec>
<exec osfamily="windows" executable="cmd">
    <arg value="/c"/>
    <arg file="${ant-executable}.bat"/>
    <arg value="-buildfile"/>
    <arg file="${ant.file}"/>
    <arg value="buildjars"/>
    <env key="JAVA_HOME" file="${jdk8-home}"/>
</exec>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69117486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档