首页 > 代码库 > Maven--插件管理

Maven--插件管理

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 配置。

Maven--插件管理