• Mojo插件demo


    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时自动运行此插件。

  • 相关阅读:
    显示隐藏,页面搜索,操作DOM
    Jquery点击事件隐藏显示菜单
    《转》学习JQuery该掌握的内容
    跨域调用(mvc、webapi)
    cocos creator基础-(三十二)cc.Graphics组件和cc.Camera组件
    cocos creator基础-(三十一)超大数值计算
    cocos creator实战-(三)简单例子摇杆控制角色移动
    cocos creator基础-(三十)微信小游戏第三方资源部署
    cocos creator实战-(二)跳一跳
    cocos creator实战-(一)台球小游戏
  • 原文地址:https://www.cnblogs.com/UniqueColor/p/12107975.html
Copyright © 2020-2023  润新知