2010-02-09 53 views

回答

2

您並不真正「運行」makefile,而是運行make實用程序,它會在當前目錄中查找名爲「makefile」或「Makefile」的文件,並處理該文件中的命令。所以你需要從你的Java應用程序中執行make。你可以通過Runtime.exec()來做到這一點。欲瞭解更多信息,請參閱http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html#exec%28java.lang.String%29http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1

你應該去尋找一個潛在的問題是,make可能會或可能不會是你的程序運行在計算機上存在,即使它確實存在,它可能位於一個非 - 標準的位置。在我的機器上,它是/usr/bin/make,但它可能位於其他地方。小心解釋這一點。

+4

另一個問題是makefile往往是不可移植的。 – 2010-02-09 03:33:19

+0

@Stephen C - 好點。 – echo 2010-02-09 03:40:01

+0

哦謝謝,很抱歉沒有很長時間回覆。 @echo感謝您的建議,我只是爲makefile運行make實用程序,而不是從java運行。感謝回覆! – 2010-02-18 02:33:54

0

是的。您可以使用Runtime.exec來運行make應用程序。然而,正如某人先前所述,當文件可能不存在或出現在其他位置時,您應該說明條件。我建議你看看提供這個功能的java.io.File javadoc。另外,不要忘記爲了記錄/調試目的而捕獲錯誤流。很多時候,程序員只執行輸入和輸出流。

相關問題