我的javac
位于我的项目目录下。让我们说C:\workspace\myworkspace\java\bin\javac
我想要做的是,在蚂蚁中,使用特定的javac进行构建。所以我做了
<exec executable="java\bin\javac">
<exec>
但我的日食一直在抱怨
BUILD FAILED
C:\workspace\myworkspace\build.xml:7: Execute failed: java.io.IOException: Cannot run program "java\bin\javac" (in directory "C:\workspace\myworkspace"): CreateProcess error=2, The system cannot find the file specified
有什么不对?我去了目录C:\ workspace \ myworkspace \ java \ bin \并做了javac并且它工作正常,
但我不能这样做
来自命令行的C:\workspace\myworkspace\java\bin\java
。
Windows上有什么不同?我通常在linux上工作,所以我不知道如何在Windows上正确使用它。
要添加更多内容,我不想将此java添加到我的$ PATH,因为它仅适用于此项目,我不想搞砸我的其他java可执行文件。< / p>
答案 0 :(得分:0)
两个潜在的问题......
首先,这可能是:
<exec executable="java\bin\javac">
...正在让Ant在目录java\bin\javac
中查找名为c:\workspace\myworkspace
的文件,该文件不存在。它是javac
c:\workspace\myworkspace\java\bin
,这不是一回事。
根据exec
documentation,您可能希望使用<property>
location
属性来解析文件。
其次,当可执行文件实际名为javac
时,可能会因查找javac.exe
而感到困惑。命令shell会检查.exe
扩展名,但我认为Runtime.exec
不会做同样的事情。
另外,正如Braj在评论中提到的,你最好使用Ant's built-in support for javac
...