Ant在Windows路径中找不到可执行文件

4

我有一个简单的Ant目标:

<target name="doxygen">
    <exec executable="doxygen" dir="${basedir}/doxygen">
        <arg value="Doxyfile" />
    </exec>
</target>

我正在使用Windows Seven操作系统。 当我在Windows控制台中尝试相同的命令行(doxygen Doxyfile)时,它可以完美地运行。Doxygen可执行文件可以被找到,因为我已经将正确的路径添加到了我的PATH环境变量中。
但是,ANT无法找到Doxygen可执行文件,我会收到以下错误消息:
build.xml:83: Execute failed: java.io.IOException: Cannot run program "doxygen.exe" : CreateProcess error=2

我如何使ANT使用Windows PATH环境变量?

我已经尝试了searchpath属性,但它没有起作用。

1个回答

4

您想查找Doxygen目前在系统中的安装位置。然后创建一个包含该值的属性,以便可以被安装Doxygen到其他位置的人覆盖。

<property name="doxygen.path" location="C:\Program Files\Doxygen"/>

<target name="doxygen">
    <exec executable="${doxygen.path}/doxygen" dir="${basedir}/doxygen">
        <arg value="Doxyfile" />
    </exec>
</target>

1
我接受你的答案,因为这就是我所做的。但主要问题在别处。我从Eclipse启动ANT,当你这样做时,ANT就无法使用你的环境变量。如果你在Windows控制台中使用ANT尝试我的代码,它可以完美地工作。 - Magus
尝试将它们从系统路径移动到用户路径,看看是否有效。我知道这也不是一个答案,但是我发现Eclipse似乎只能捕捉到“用户路径”,而不能捕捉到合并的PATH。虽然我还没有解决办法,但也许这就是你遇到的问题。 - tlum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接