Apache Ant 无法从 Windows 中找到环境变量

  • 本文关键字:环境变量 Windows Ant Apache ant
  • 更新时间 :
  • 英文 :


我有一个 ant 构建文件,我在其中尝试使用环境变量中引用的可执行文件,但 Ant 找不到它。

我回显了 PATH 变量的值,发现它实际上没有得到任何东西。我不知道为什么。

下面是代码示例和输出。

蚂蚁构建文件:

<target name ="cmd-local">
<echo message="$PATH is set to = ${PATH}" />
<echo message="%PATH is set to = %PATH%" />
<exec executable="cmd.exe">
<arg line="/c echo %PATH%" />  
</exec>
</target>

输出:

[echo] $PATH is set to = ${PATH}
[echo] %PATH is set to = %PATH%
[exec] C:/Users/user1/Application/jdk1.8.0_121/bin/..

我不确定为什么前两个没有打印任何东西。

主要问题是 Ant 默认情况下不会将环境导入到属性中。 你必须要求它这样做,并指定一个前缀,例如:

<property environment="env" />

这会将环境变量加载到名称为env.PATH的属性中,因此您可以使用以下内容访问PATH

<echo message="$PATH is set to = ${env.PATH}" />

在 Ant 中,像%PATH%这样的 Windows 样式环境引用并没有什么特别之处,它们只是被视为文字字符串。

遇到同样的问题,您应该考虑尝试此操作(区分大小写(

<echo message="$PATH is set to = ${env.Path}" />

这对我有用(在蚂蚁 1.9.5 上(

最新更新