我正在开发的项目使用Maven作为构建工具。我知道基本的概念,如轮廓,pom继承,模块,插件,目标,阶段等等,但我仍然缺少真正的工艺,以便在不同的环境中使用淀粉实现复杂的构建。
现在,我应该成为Maven专家还是开始学习Gradle而不是揭开Maven的所有技术细微差别?
我没有看到Gradle带来的价值。它是以编程方式配置的,但这实际上可能是邪恶的吗?我曾在Javascript世界工作并使用过像Gulp和Webpack这样的工具。这些工具中的程序化配置只是一个可怕的混乱而且缺乏一致性。无法形成配置的清晰心理图像,因为它是动态代码,而不是静态文档。当您必须进行更改时,在哪里找到处理该功能的代码行并不是那么明显。定义良好的XML文档是自我描述,有组织且易于编写的。
此外,通过编程配置,在构建本身中引入bug会有更高的变化。是否有时间,当构建变得如此复杂以至于需要构建项目的构建配置时?
考虑到这些方面,是否有一些实用的原因开始使用Gradle(除了跟随趋势)?
答案 0 :(得分:1)
我们为公司评估了Gradle vs. Maven。我们的经验:
Maven强迫您使用标准化方法进行构建。优点是构建脚本在您的公司中更加一致,而且更像是“行业中的其他任何地方”。主要的缺点是很难配置自定义需求,这通常来自您仍然需要支持的传统方法。
但是也存在重要的可用性方面,因为这两种构建工具的IDE支持完全不同。
答案 1 :(得分:0)
我不知道Gradle带来了什么价值。它是以编程方式配置的,但这实际上可能是邪恶的吗?我曾在Javascript世界工作并使用过像Gulp和Webpack这样的工具。这些工具中的程序化配置只是一个可怕的混乱而且缺乏一致性。
不同之处在于:Javascript,Gulp和Webpack构建具有大量功能和高复杂性的应用程序(好吧,他们使用来做到这一点......)
Gradle只是为了控制构建过程,一个像bash或PowerShell这样的脚本环境,但专门针对它的领域。
所以恕我直言,你应该开始学习gradle,但要保持你对maven的了解......