如何清理Maven插件绑定?能否清除默认生命周期绑定自行配置插件?
Maven清除默认生命周期插件绑定的实现方法
完全可以实现,Maven支持自定义覆盖所有默认的插件生命周期绑定规则,你可以完全按需配置需要使用的插件,操作方式如下:
方案1:直接修改项目打包类型为
pompom类型的打包逻辑本身没有绑定任何默认生命周期插件,从根源上避免了默认插件的自动注入,适合不需要jar/war等标准打包产物的自定义项目场景。如果后续需要使用特定插件,直接手动绑定到对应生命周期阶段即可。方案2:覆盖默认插件绑定解除规则(适用于需要保留jar/war等标准打包类型的场景)
所有Maven内置的默认插件绑定都有固定的default-前缀执行ID,只需要在pom中把对应插件的默认执行阶段设置为none即可解除绑定,示例配置如下:<build> <plugins> <!-- 解除默认编译插件绑定示例 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <executions> <execution> <id>default-compile</id> <phase>none</phase> </execution> <execution> <id>default-testCompile</id> <phase>none</phase> </execution> </executions> </plugin> <!-- 其他需要解除的默认插件按照同样格式配置即可 --> </plugins> </build>完成默认绑定清除后,按照正常Maven插件配置方式,手动指定你需要使用的插件的执行阶段和目标即可正常生效。
注意:如果需要在多模块项目中复用这套配置,可以把解除默认绑定的配置放到父POM的
pluginManagement节点中,子模块直接继承即可,无需重复编写配置。
内容的提问来源于stack exchange,提问作者Rudolphine
相关产品推荐
相关产品推荐

