小编典典

为什么没有人使用 make for Java?

all

我见过的几乎每个 Java 项目都使用 Maven 或
Ant。它们是很好的工具,我认为几乎任何项目都可以使用它们。但是发生了什么?它用于各种非Java项目,可以轻松处理Java。当然,如果你使用
Windows,你必须下载 make.exe,但 Ant 和 Maven 也没有随 JDK 一起提供。

与 Java 一起使用时,make 是否存在一些基本缺陷?仅仅是因为 Ant 和 Maven 是用 Java 编写的吗?


阅读 64

收藏
2022-08-01

共1个答案

小编典典

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 这样的替代品出现的原因。

2022-08-01