我有一个ant构建文件,我在其中尝试使用环境变量中引用的可执行文件,但Ant无法找到它。
我回应了PATH变量的值,发现它实际上没有得到任何东西。我不知道为什么。
以下是代码示例和输出。
Ant构建文件:
<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/..
我不确定为什么前两个没有打印任何东西。
答案 0 :(得分:0)
主要问题是Ant默认情况下不会将环境导入属性。你必须要求它这样做,并指定一个前缀,如:
<property environment="env" />
这会将环境变量加载到名称为env.PATH
的属性中,因此您可以使用以下内容访问PATH
:
<echo message="$PATH is set to = ${env.PATH}" />
在Ant中,%PATH%
等Windows风格的环境引用并没有什么特别之处,它们只被视为文字字符串。