技术开发 频道

六年等一回 Maven 3的10大新特性详解

  【IT168 评论】6年了,我们终于等来了Maven 3,Maven 2虽然达到了一定的高度达,但它有两个死穴,一是难以扩展,二是它的代码难以理解,在Maven 3中,许多功能都进行了改造,消灭了Maven 2一直被人诟病的许多问题,在这篇文章中,我将介绍Maven 3的10大新特性。

  1、向后兼容

  Maven创始人,Sonatype公司的CTO Jason van Zyl表示“Maven 3是为用户构建的”,很明显,他的意思是Maven 3.0将会全面取代Maven 2.x,Maven 3开发人员尽了最大努力,确保Maven 2.x用户顺利过渡到Maven 3.0,如果出现重复依赖,插件声明或未指定插件版本号,Maven 3.0将会发出警告,这里我强烈建议你在POM中修复这些问题,因为Maven 3的未来版本可能不会支持生成畸形的项目。我已经尝试将我的多模块项目移植到Maven 3,同样,我收到了上述的警告,但我并没有遇到任何问题或生成时错误,Maven 3.0是可以兼容Maven 2.x的。

  2、性能改善

  我迁移到Maven 3最重要的一个原因是它的速度,更好的磁盘I/O,网络I/O,CPU利用率和更低的内存消耗,经过优化的Maven 3比Maven 2.x快50-400%,更快的生成速度显著提高了开发人员的生产力,我用Maven 3运行我的项目用时不到2分钟,而此前在Maven 2.x上需要耗时3分钟,值得注意的是我并没有开启并行生成功能,凭这一点,你就应该尽快去下载Maven 3亲自试一试。

  3、自动指定父版本

  在Maven 2中,你必须在子模块中指定父版本,当你在新版本上开发时,这是一个维护问题,Maven 3.1将会消除在子模块上指定父版本的需要。

  4、并行生成

  Maven 3引入了并行生成功能,它可以分析你的项目依赖图,允许你并行生成调度模块,使用下面的命令开启项目的并行生成功能。

mvn -T 2 clean install mvn -T 2C clean install

  第一个参数(-T 2)表示使用两个线程并行生成项目,第二个参数(-T 2C)表示每个处理器核心上使用两个线程生成项目,借助并行生成功能,可以让生成速度提升20-50%,但目前并行生成还处于实验阶段,将来不排除发生变化的可能性,因此我建议你现在不要在生产系统中使用它。

1
相关文章