2016-07-29 73 views
0

我試圖從Java程序運行Ant。這工作:在沒有絕對路徑的Java中運行命令行程序

// Compile project 
ProcessBuilder pb = 
     new ProcessBuilder("/usr/local/Cellar/ant/1.9.6/libexec/bin/ant", "-f", pathToProject + "build.xml"); 
Process p = pb.start(); 
p.waitFor(); 

不過,這一方案將在比我的其他機器使用的,所以我寧願實例像這樣的ProcessBuilder:

new ProcessBuilder("ant", "-f", pathToProject + "build.xml"); 

雖然ant -f build.xml作品我的Mac終端上,把上面的代碼放在我的程序輸出java.io.IOException: Cannot run program "ant": error=2, No such file or directory

如何以編程顯示的ProcessBuilder其中螞蟻所在?該程序將在OS X和可能的Ubuntu上運行。

注:這個問題是不是螞蟻特有的。我需要使用ProcessBuilder來調用其他命令行工具。

回答

0

只是在屬性文件中提供了相應的路徑注射通過使定製通過屬性文件。此方法可以在多個環境中運行的螞蟻的ProcessBuilder的絕對路徑。