我在网上搜索但只获得了生成Java Makefile的示例。我的情况有所不同,如果我有一个Makefile,但我只是想从Java运行它?
答案 0 :(得分: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%29和http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1
您应注意的一个潜在问题是,make
可能存在或可能不存在于您的程序运行的计算机上,即使它确实存在,它也可能位于非标准位置。在我的机器上,它是/usr/bin/make
,但它可能位于其他地方。小心这一点。
答案 1 :(得分:0)
是。您可以使用Runtime.exec来运行make应用程序。但是,如前所述,您应该考虑文件可能不存在或存在于其他位置的情况。我建议你看看提供这个功能的java.io.File javadoc。另外,不要忘记捕获错误流以进行日志记录/调试。很多时候,程序员只实现输入和输出流。