【发布时间】:2021-01-28 07:29:00
【问题描述】:
我不明白为什么有人要使用 Gradle 或 Maven 之类的工具,我的意思是他们甚至会做什么?我试图理解和使用它们,但这让我无法理解它们只会让事情变得不必要地复杂化,并创建很多看起来毫无用处的文件。
那么,为什么要费心使用这些工具呢?它们有什么用处?
【问题讨论】:
-
他们处理下载依赖项,这很好。我认为它们实际上只是一个美化的 MAKEFILE。不过,我也很乐意接受这方面的教育。
-
作为构建工具如何发挥作用的示例,我们的一个项目使用 80 多个模块、8k 类和 600 个唯一依赖项生成了 10 个应用程序(具有多个变体)。每个模块选择自己的依赖项并提供多个 JAR,从而导致复杂的模块层次结构。所有构建过程和项目间关系都由 Gradle 管理,一个完整的构建大约需要 2k 个任务。 Gradle 足够聪明,可以在可能的情况下并行运行这些任务,并避免没有适用更改的任务。用
javac和jar来实现这一点是非常不切实际的。