gpt4 book ai didi

maven-2 - maven - 仅将它用于依赖管理然后让 Ant 做其他所有事情是一种好的/常见的做法吗?

转载 作者:行者123 更新时间:2023-12-01 07:12:07 26 4
gpt4 key购买 nike

我是 Maven 的新手。

除了用于管理依赖项之外,我发现它没什么用处。

编写 pom.xml 变得如此困难,以至于我从 maven 的一项任务中生成了一个 ant build.xml(这是一个非常方便的任务......)
我不得不调整由 maven 生成的 build.xml。现在我所有的编译、测试等都是用这个 build.xml 完成的。

这样的组合常见吗?我正在考虑让它在我的项目中永久化。

最佳答案

Other than its use for managing dependencies, I am finding little use for it.



那是因为你不明白 :) 依赖管理只是 Maven 的一小部分,Maven 真的有更多。报价 Maven: The Definitive Guide :

Maven 是一个项目管理工具,它包含一个项目对象模型、一组标准、一个项目生命周期、一个依赖管理系统以及用于在生命周期的定义阶段执行插件目标的逻辑。当您使用 Maven 时,您使用定义明确的项目对象模型来描述您的项目,然后 Maven 可以应用来自一组共享(或自定义)插件的横切逻辑。

Maven 使用 约定优于配置有很多有用的默认值(目录位置、定义的生命周期、一组知道如何构建和组装软件的常用插件),Maven 提供了一个 通用接口(interface)构建项目(与 Ant 不同,您知道如何对每个项目执行诸如运行测试、打包等操作,无需打开构建脚本来了解它是如何完成的),Maven 实现 通过 maven 插件重用 (构建逻辑嵌入到插件中用于 DRY 目的,您不必一遍又一遍地重复自己,您不必复制/粘贴部分构建脚本),Maven 有一个 项目对象模型 它允许您通过元数据描述您的项目(这可以实现依赖管理、远程存储库、构建逻辑的重用、工具集成、工件搜索......)。

所以,因为 Maven 为项目管理提供了一种通用语言或共享语言,所以比较 Maven 与 Ant(如果你愿意,可以加上 Ivy)、Maven 与 Buildr、Maven 与 Gradle 就像将苹果与橘子进行比较,这种比较是无关紧要的。

Is such a combination common? I am thinking of making it permanent in my project.



嗯,不,这真的不是行家的做事方式。这可能看起来很诱人(因为您有一种重新获得控制权的感觉,因为您了解 Ant 正在发生的事情),但实际上您又在重复自己,失去了 Maven 的所有优势。当然,使用 Maven 有一些学习曲线,我并不是说你会在一夜之间学会它,但是一旦你掌握了它,你就会感受到它的力量。因此,我建议继续尝试,在邮件列表或 SO 上提问,阅读 Maven Book 等。但不要放弃。

关于maven-2 - maven - 仅将它用于依赖管理然后让 Ant 做其他所有事情是一种好的/常见的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1689227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com