maven自定义插件
自定义插件的pom文件,注意打包方式为<packaging>maven-plugin</packaging>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <groupId>com.zhanghe.study</groupId> <artifactId>test_maven_plugin</artifactId> <version>1.0-SNAPSHOT</version> <packaging>maven-plugin</packaging>
<dependencies> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>3.6.0</version> </dependency> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-annotations</artifactId> <version>3.6.0</version> </dependency> </dependencies>
|
编写插件逻辑
1 2 3 4 5 6 7 8 9 10 11 12 13
| @Mojo(name = "customMojo",defaultPhase = LifecyclePhase.COMPILE) public class CustomMojo extends AbstractMojo {
@Parameter private String version;
@Override public void execute() throws MojoExecutionException, MojoFailureException { System.out.println("使用的版本为"+version); } }
|
将该插件打包到本地仓库或者maven私服中,就可以在其他maven项目中进行使用了
其他项目配置使用该插件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <build> <plugins> <plugin> <groupId>com.zhanghe.study</groupId> <artifactId>test_maven_plugin</artifactId> <version>1.0-SNAPSHOT</version> <configuration> <version>0.0.1-SNAPSHOT</version> </configuration>
<executions> <execution> <phase>compile</phase> <goals> <goal>customMojo</goal> </goals> </execution> </executions>
</plugin> </plugins> </build>
|