gpt4 book ai didi

java - 为什么 Ant exec 不使用我的路径?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:39:29 25 4
gpt4 key购买 nike

我的构建文件中有这些行:

    <property environment="env"/>
...
<echo>Path: ${env.PATH}:/usr/local/bin</echo>
<exec executable="cmake" searchpath="true" dir="${engine}">
<env key="PATH" path="${env.PATH}:/usr/local/bin"/>
<arg value=".." />
</exec>

因为我的 cmake 安装在这里:

> which cmake
cmake is /usr/local/bin/cmake

但是当我构建时,我得到了这个:

    [echo] Path: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

BUILD FAILED
build.xml:17: Execute failed: java.io.IOException: Cannot run program "cmake" (in directory "engine"): error=2, No such file or directory

虽然这是可行的:

<exec executable="/usr/local/bin/cmake" searchpath="true" dir="${engine}">

如果重要的话,我在 OSX 上,使用 Eclipse Mars 4.5.2。假设 Eclipse 在我的路径上使用了 ant,它是:

> ant -version
Apache Ant(TM) version 1.9.6 compiled on June 29 2015

最佳答案

您在查找 cmake 时的 PATH 不包含/usr/local/bin。如果找到 cmake,它将使用您指定的 PATH 值运行。 exec 下的 env 元素是赋予子进程的元素,但 Ant 本身并不使用它。您需要在运行ant之前修改路径或在运行时指定完整路径。

关于java - 为什么 Ant exec 不使用我的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35780367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com