Maven 3 - 值得吗?

Man*_*noj 50 maven-3

Maven 3 beta已经推出几周了,我只是想了解Maven 3的功能列表.因为对我来说,只添加了两个主要功能

  1. 在构建生命周期中并行执行项目
  2. 自定义生命周期

其他一切似乎都是错误修复或小改进.所以你怎么看?Maven 3值得等待吗?

Pas*_*ent 75

Maven 3有什么新功能?这里有一些你可以在网上找到的内容的汇编.

  • 向后兼容性 - Maven 3向后兼容,这非常重要(特别是对于那些经历过Maven 1到Maven 2转换的人).
  • 无版本的父元素 - Maven 3将不再需要在子模块中指定父版本.很棒(在Maven 3.1中).
  • Mixins - 用于POM成分(在Maven 3.1 AFAIK中).
  • 使用属性的XML POM格式 - 您可以使用属性而不是元素.
  • Polyglot Maven - 你现在可以用不同的语言编写你的POM文件(我个人不会对XML格式感到恼火,所以我不确定我会经常使用它).
  • 扩展点 - 装饰生命周期或插件(挂钩行为而不是扩展插件).
  • 可查询的生命周期 - 执行计划和执行的解耦.
  • Plugin-API中的更改 - 这更多针对插件开发人员(注释而不是javadoc标记,扩展点,可查询生命周期).
  • 更好的错误和完整性报告 - 错误更清晰,并与Maven 3 wiki相关联,以获得详细说明.用户会喜欢这个.
  • Mercury - 完全重写人工解析系统(现在是专用产品)实际上,Maven 3使用Aether而不是Mercury.
  • Maven Embedder - 这非常适合IDE和构建工具(可以"监听"构建过程).
  • 增量构建支持 - 对M2Eclipse特别有用(大性能提升).
  • 从Maven核心站点提取的站点和报告尚不可用(将在最终版本中修复),报告确实(但是您被邀请使用Sonar等外部质量工具).
  • Maven shell - 优化的执行环境(Maven Shell 非常棒).

总而言之,你并非完全错误,表面上没有那么多变化(虽然我真的很喜欢更好的错误报告,只是不能等待无版本的父元素的东西).但是引擎盖下的变化让Maven 3 变得更快,这是巨大的.我希望通过新提供的可能性(即将到来)实现伟大的创新.

最后,性能的提升已经足以让它值得我(在更短的时间内建设非常有价值)和其他东西都是奖金.由于我没有广泛使用网站插件,我已经在部分版本中使用Maven 3超过4个月了,我对它非常满意.

也可以看看

  • pven验证在maven中更为严格3.指出maven 2正在通过的明显错误或遗漏.仅此功能值得在你的maven 2项目中运行mvn 3 - 只是为了修复破损的poms. (4认同)