我有一个大项目由18个模块和一个父项目组成。这个项目需要花费大约1个小时的时间来完成,为了改善这一点,我们决定使用maven profile来减少时间,方法是设置4个不同的maven profile,每个maven profile都有一组项目模块。 父pom.xml的模块是:maven构建过程改进
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
<module>module4</module>
<module>module5</module>
<module>module6</module>
<module>module7</module>
<module>module8</module>
</modules>
现在是像
<profiles>
<profile>
<id>main</id>
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
</modules>
</profile>
<profile>
<id>profile1</id>
<modules>
<module>module4</module>
<module>module5</module>
</modules>
</profile>
<profile>
<id>profile2</id>
<modules>
<module>module6</module>
</modules>
</profile>
<profile>
<id>profile3</id>
<modules>
<module>module7</module>
<module>module8</module>
</modules>
</profile>
</profiles>
我们使用詹金斯构建项目,我们在Maven选项提供的配置文件名称。这里的问题是我们看到构建几乎是同时进行,并且在日志中显示声纳和三叶草覆盖在整个项目上运行,而不是模块集合!任何想法如何解决这个问题?也许有人有更好的方法?
例如,当你运行'profile2'时,你期望模块6被分析吗?以及在运行'profile3'时要分析的模块7和8? –
是的!我曾尝试在配置文件定义中使用,并且它适用于某些模块,但其他模块无法正常工作,因此无法确定原因。也是因为我不得不在每个配置文件中这样做,因此pom看起来不好。 –
fancier
首先真的只需要18个模块,需要1个小时才能构建?为什么每个版本都运行声纳?三叶草覆盖面?首先删除声纳分析导致声纳分析每天只有一次意义..没有任何测试运行(这些测试真的是单元测试?)你检查了测试需要多长时间?可以很容易地从詹金斯的日志输出中提取...(顺便说一句:这些配置文件并不是真正的解决方案).. – khmarbaise