我见过的几乎每个 Java 项目都使用 Maven 或 Ant。它们是很好的工具,我认为几乎任何项目都可以使用它们。但是发生了什么?它用于各种非Java项目,可以轻松处理Java。当然,如果你使用 Windows,你必须下载 make.exe,但 Ant 和 Maven 也没有随 JDK 一起提供。
与 Java 一起使用时,make 是否存在一些基本缺陷?仅仅是因为 Ant 和 Maven 是用 Java 编写的吗?
Make 和 Java 的基本问题是 Make 的工作前提是您已指定依赖项,然后是解决该依赖项的规则。
使用基本 C,通常“要将 main.c 文件转换为 main.o 文件,请运行“cc main.c”。
你可以在java中做到这一点,但你很快就会学到一些东西。
主要是 javac 编译器启动缓慢。
和…之间的不同:
javac Main.java javac This.java javac That.java javac Other.java
和
javac Main.java This.java That.java Other.java
是白天和黑夜。
用数百个课程加剧这种情况,它就变得站不住脚了。
然后,您将其与 java 倾向于在目录中组织为文件组的事实相结合,而 C 和其他倾向于更扁平结构的文件。Make 对处理文件层次结构没有太多直接支持。
Make 也不擅长在集合级别确定哪些文件已过期。
使用 Ant,它会遍历并汇总所有过期的文件,然后一次性编译它们。Make 将简单地在每个单独的文件上调用 java 编译器。make NOT 这样做需要足够的外部工具才能真正表明 Make 不能完全胜任这项任务。
这就是为什么像 Ant 和 Maven 这样的替代品出现的原因。