Maven 提供了 <pluginManagement> 元素帮助管理插件。在该元素中配置的依赖不会造成实际的插件调用行为,当 POM 中配置了真正的 plugin 元素,并且 groupId 和 artifactId 与 pluginManagement 中配置的插件匹配时,pluginManagement 的配置才会影响实际的插件行为。
1 <project> 2 ... 3 <build> 4 <pluginManagement> 5 <plugins> 6 <plugin> 7 <groupId>org.apache.maven.plugins</groupId> 8 <artifactId>maven-source-plugin</artifactId> 9 <version>2.1.1</version> 10 <executions> 11 <execution> 12 <id>attach-source</id> 13 <phase>verify</phase> 14 <goals> 15 <goal>jar-no-fork</goal> 16 </goals> 17 </execution> 18 </executions> 19 </plugin> 20 </plugins> 21 </pluginManagement> 22 </build> 23 ... 24 </project>
配置 maven-source-plugin,将其 jar-no-fork 目标绑定到 verify 生命周期阶段,以生成项目源码包。
子模块如果需要生成项目源码包,只需要简单如下配置:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> </plugins> </build>
如果子模块不需要使用父模块中 pluginManagement 配置的插件, 可以将其忽略。
如果子模块需要不同的插件配置,则可以自行配置以覆盖父模块的 pluginManagement 配置。
时间: 2024-10-19 10:49:39