Maven儿童测试罐
我们的项目中有许多模块,我们希望为其中一些模块启用测试jar创建。我尝试将maven jar插件添加到父pom的插件管理中Maven儿童测试罐,maven,maven-plugin,Maven,Maven Plugin,我们的项目中有许多模块,我们希望为其中一些模块启用测试jar创建。我尝试将maven jar插件添加到父pom的插件管理中 <plugins> <pluginManagement> <plugin> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <g
<plugins>
<pluginManagement>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
maven jar插件
试验罐
但是,现在它正在为所有模块创建测试jar
根据documenation:pluginmanagement包含插件元素的方式大致相同,不同的是它不是为这个特定的项目构建配置插件信息,而是配置从这个项目构建继承的项目构建。但是,这仅配置在子元素的plugins元素中实际引用的插件。孩子们完全有权推翻插件管理的定义
它不应该为我们没有包含在其中的模块创建测试jar,但它确实是这样做的。我的所有模块都没有在其构建模块中添加maven jar插件
为了阻止它为所有人创建测试jar,我只能将它添加到我感兴趣的模块中
有没有其他更好的解决方案来实现这一点?通常情况下,您所描述的是不可能的。如果让我猜的话,我会说,因为您的打包类型是
jar
配置,所以maven-jar插件会被插入到有效的pom中。然后,由于配置在那里,它还使用插件管理部分的配置。运行mvn帮助:有效的pom
可能会让您了解这是否属实
我还将确保层次结构中的父级不包含将由子级继承的maven jar pom的任何具体配置。如果孩子继承了一个具体的部分,我想这也会触发它包含插件管理配置