我正在思考一个想法,想向开发者社区提出一个问题。 当我从事一个大型 JAVA 项目时,在实践中使用 Maven 有惊人的好处。然而,项目正在快速增长,随着时间的推移,出现了更多的模块,从而导致了巨大的构建时间,这对持续集成产生了影响。
问题 - 是否有一些开箱即用的功能可以允许智能项目构建,该项目可以首先检查模块目标 jar 是否与本地 Maven 存储库中的目标 jar 不同。如果后者是真的,maven 可以继续进行下一个模块,而无需重建和重新部署相同的模块吗?
问候
最佳答案
最好的办法是切换到 Maven 3,它通过
支持并行构建mvn -T 3.0C clean package
还可以帮助构建已更改的内容,这些更改可以通过 Maven 实现:
mvn -pl module -am package
许多 CI 系统(例如 jenkins)也支持增量构建。此外检查正在运行哪种类型的测试?您可以并行运行单元测试吗? (maven-surefire-插件)。这些单元测试真的是单元测试还是其中一些可能是集成测试?
关于java - Maven 2.2.1 优化项目构建时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12124155/