如何覆盖 ant.core.lib 位置

我正在从某个自定义位置调用 Ant,而不是从系统中的“本地”安装位置 ( /usr/share/ant/bin/ant)。令人惊讶的是,当我回显该${ant.core.lib} 属性时,我看到 Ant 无论如何都从 /usr/share/lib 中提取它。


例如使用以下 build.xml 文件:


<?xml version="1.0" encoding="UTF-8"?>

<project name="foo" basedir=".">

    <echo message="ant.core.lib: ${ant.core.lib}"/>

</project>

这是我看到的:


$ /some/other/location/apache/apache-ant-1.9.9/bin/ant

OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0

Buildfile: /home/username/tmp/build.xml


    [echo] ant.core.lib: /usr/share/java/ant/ant.jar

即使明确传递备用 -lib 位置(另一个 ant.jar 所在的位置),我仍然看到相同的内容:


$ /some/other/location/apache/apache-ant-1.9.9/bin/ant -lib /some/other/location/apache/apache-ant-1.9.9/lib

(same output as before)

Ant 如何决定如何设置${ant.core.lib}属性的值以及我可以从哪里覆盖它以便让 Ant 从其他位置使用 ant.jar?


慕神8447489
浏览 133回答 1
1回答

慕标5832272

在这种情况下,还必须在 shell 中设置环境变量 ANT_HOME。然后,${ant.core.lib}从 中提取${ANT_HOME}/lib/ant.jar。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java