Maven 3 如何在多模块项目中跳过pom的构建
我正试图优化我的构建过程(在开发中),以构建整个maven多模块项目树。有些POM实际上是源/库的聚合,很少(通常)是不变的。所以具体的子问题是Maven 3 如何在多模块项目中跳过pom的构建,maven-3,Maven 3,我正试图优化我的构建过程(在开发中),以构建整个maven多模块项目树。有些POM实际上是源/库的聚合,很少(通常)是不变的。所以具体的子问题是 如果pom:project/build/sourceDirectory属性中指定的源没有更改,是否可以将maven配置为不构建pom 或者可以(至少)有条件地禁用maven bundle插件吗这花了大部分时间 谷歌找不到任何与Q#1相关的信息。典型的解决方案不适用于#2-当我尝试为maven bundle插件指定“执行”时(如下所示) 感谢您的帮助。我
* (maven bundle插件无法与'executions'标记一起使用)
*(maven bundle插件没有跳过确认选项)
*(同上)
*如果将整个maven bundle插件移动到概要文件中,maven将无法识别packaging=bundle。maven通常不会跟踪源代码/更改,因此它始终是完整构建。但是,要禁用任何插件,您可以将其移入,然后启用/禁用整个配置文件,例如,有条件地或从命令行启用/禁用
mvn -am
与
mvn -pl ...
因此,进行如下构建:
mvn -am -pl SubModule clean package
将生成,并且由于依赖于变更模块而需要生成。最后,我必须承认(C)Eugene Kuleshov-“Maven通常不跟踪源/变更,因此它始终是完整的生成。” <>但是,在5 + ON .NET和C++上5年的Erier-Error之后返回java,看起来像这样的一个共同的特性,比如增量构建,并不是由10年以上的广泛使用的工具支持的。因此,我不能把时间花在等待重建我的多模块项目中每个未更改的模块上,而是决定定制Maven 3.0.4:)
请随意点击这里,尝试报告问题。我建议切换到Gradle。
Gradle具有这种开箱即用的支持(无需配置),从Maven转换应该很容易。不幸的是,特定的解决方案不适用于Maven bundle插件-当它移动到profile时,Maven开始说packaging=bundle未知。“pl”是“构建指定的反应堆项目,而不是所有项目”-这意味着我必须事先知道更改了哪些项目,并在命令行中明确列出它们。这绝对不是一个适用的情况。
mvn -pl ...
mvn -am -pl SubModule clean package