2010-02-09 49 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。另外,不要忘记为了记录/调试目的而捕获错误流。很多时候,程序员只执行输入和输出流。

相关问题