我所在的团队已经对我们的项目进行了专业化并将TDD视为一种生活方式,但由于项目的规模和测试数量,我们的构建大约需要15-20分钟。令人遗憾的是,我们拥有与我们一样多的测试覆盖率,但这并不是我们想要的快速转变。
当我们进行完整构建时,会有页面,页面,页面和输出页面发送到控制台,我知道写入控制台的成本可能很高。有没有办法调整 maven的方式可以减少一些输出?这甚至是一个问题,还是我应该寻找其他方法来缩短我们的构建时间?
答案 0 :(得分:5)
您认为写入控制台是瓶颈。写作是由maven完成的(例如,许多插件调用,正在执行录制测试)还是由我们自己的代码完成?
如果您的代码输出很多,那么您应该在src/test/resources
目录中部署日志配置文件(Log4j,Logback等)并禁止所有日志记录输出。
如果您对Maven本身写的内容感到困扰,请使用-q
标志运行它:
-q, - 安静静音输出 - 仅显示错误
这至少可以让你验证写入控制台是问题(我不确定)。
答案 1 :(得分:0)
您是否还考虑过检查是否可以并行化Maven构建? 默认情况下,Maven不使用硬件的全部功能。它顺序地而不是并行地构建所有模块。 您可以通过Maven命令进行检查,以分析您的项目(包括依赖关系图)并在可能的情况下并行构建项目。您可以指定用于构建项目的确切线程数,也可以使用可移植版本参数,并根据计算机上可用的CPU来指定线程数。
mvn -T 4安装-将使用4个线程
mvn -T 1C安装-每个可用CPU内核将使用1个线程。
虽然您的项目可能不容易并行构建,但值得尝试,但提速可能会很大。每个CPU内核使用一个线程是一个很好的默认设置。