Java和Makefile:是否有任何方法可以确保一个类是否依赖于另一个类,而无需显式地首先构建该类?

时间:2018-09-27 01:28:47

标签: java makefile

假设我有2个类,Main.java和Car.java,Main.java依赖于Car.java在编译时已经被编译,但是,使用find查找src文件并逐一编译它们(这样一来,如果未更改,则无需重新编译)Main.java始终是首先构建的,但是会失败。这个问题只会随着更复杂的项目而变得更糟。在C语言中,这可以通过使用头文件来缓解,但是java没有这种功能。

我目前正在明确地告诉make Main.java取决于Car.java。尽管这在小型项目中有效,但是当大型文件中的每个文件都依赖于少数几个文件而每个文件都依赖于其他文件时,这变得不太可行。

1 个答案:

答案 0 :(得分:0)

https://www.oreilly.com/library/view/managing-projects-with/0596006101/ch09.html 根据上面的链接,很难,即使不是不可能,也很难在Java中获得类似C的编译源文件的预期效果。但是,在引用和重新引用相同的类文件时,java编译器没有C编译器慢,因此在一次调用中编译所有java源文件时,这可以提高性能。这似乎是解决此问题的最佳方法。

编辑:对于大型项目,这也大大降低了makefile的复杂性,使其更加易于管理。