首页 > 其他 > 详细

Mojo插件demo

时间:2019-12-27 17:29:28      阅读:153      评论:0      收藏:0      [点我收藏+]
Mojo :Maven plain Old Java Object
每一个 Mojo 就是 Maven 中的一个执行目标(executable goal),而插件则是对单个或多个相关的 Mojo 做统一分发。
一个 Mojo 包含一个简单的 Java 类。
插件中多个类似 Mojo 的通用之处可以使用抽象父类来封装。


步骤:

1.创建Maven项目

技术分享图片

 

 

 

2. 添加pom依赖

<dependencies>

    <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>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

  </dependencies>

3. 新建Mojo类

注解形式:

@Mojo(name = "hello", requiresDependencyResolution = ResolutionScope.COMPILE)
public class HelloMojo extends AbstractMojo {

    @Override
    public void execute() throws MojoExecutionException, MojoFailureException {
        System.out.println("Hello Mojo!");
    }
}

doc形式:

/**
 * @goal hello
 */
public class HelloMojo extends AbstractMojo {

    @Override
    public void execute() throws MojoExecutionException, MojoFailureException {
        System.out.println("Hello Mojo!");
    }
}

Mojo 的查找机制:在处理源码的时候,plugin-tools 会把使用了 @Mojo 注解或 Javadoc 里包含 @goal 注释的类来当作一个 Mojo 类

 

4.构建发布mojo插件本地

mvn install

 

5.如何用?

<plugin>
       <groupId>com.code</groupId>
       <artifactId>mojo-demo</artifactId>
       <version>1.0-SNAPSHOT</version>
            <executions>
                 <execution>
                      <phase>compile</phase>
                      <goals>
                           <goal>hello</goal>
                       </goals>
                 </execution>
       </executions>
</plugin>

在使用使用的项目中引入此插件,<goal>指定运行的mojo,在项目compile时自动运行此插件。

 

Mojo插件demo

原文:https://www.cnblogs.com/UniqueColor/p/12107975.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!