maven plugin实现方式

版权声明:本文为博主原创文章,未经博主允许不得转载,转载请附原文链接说明出处。 https://blog.csdn.net/xupeng874395012/article/details/78654672

创建一个maven项目
artifactId的命名
{执行域名}-maven-plugin

  • 修改打包方式
<packaging>maven-plugin</packaging>
  • 添加依赖包
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-plugin-api</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.plugin-tools</groupId>
            <artifactId>maven-plugin-annotations</artifactId>
            <version>3.2</version>
        </dependency>
  • 测试代码示例
@Mojo(name = "app")//执行实例名
public class App extends AbstractMojo {

    public void execute() throws MojoExecutionException, MojoFailureException {
        this.getLog().info("app . . .");
    }

}
  • 从测试项目中天加上面的测试
<plugin>
                <groupId>maven</groupId>
                <artifactId>demo-maven-plugin</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </plugin>
  • 执行代码测试
    mvn {执行域名}:{该域下的执行实例名}
 mvn demo:app
$ mvn demo:app
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building plugin-demo 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- demo-maven-plugin:0.0.1-SNAPSHOT:app (default-cli) @ plugin-demo ---
[INFO] app . . .
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.178 s
[INFO] Finished at: 2017-11-28T14:17:21+08:00
[INFO] Final Memory: 7M/155M
[INFO] ------------------------------------------------------------------------

猜你喜欢

转载自blog.csdn.net/xupeng874395012/article/details/78654672