zoukankan      html  css  js  c++  java
  • Maven插件开发入门实例

    ### 读者指南:

    本文依赖的概念在前一篇文章中有介绍,如果读者不熟悉,建议先查看上一篇博客。
    案例说明:前面已经知道Maven插件的实现形式之一是使用Java语言开发。本文的案例即采用Java这一形式。

    ### 开发自定义Maven插件

    #### 首先建立一个Java项目,它的pom中关键内容如下:

    ```
    <packaging>maven-plugin</packaging>
    <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.4</version>
    <scope>provided</scope>
    </dependency>
    </dependencies>
    ```

    #### 新建一个MOJO,通过注解指明目标和参数

    ```
    @Mojo(name = "print")
    public class PrintMojo extends AbstractMojo {
    @Parameter(property = "arg", defaultValue = "no arg")
    private String value;
    public void execute() throws MojoExecutionException, MojoFailureException {
    getLog().info("print arguments: " + value);
    }
    }
    ```

    #### 通过mvn install命令执行default生命周期,把插件安装到本地仓库。

    ### 使用自定义插件

    #### 新建一个Java项目,在Pom中引入自定义的插件

    ```
    <build>
    <plugins>
    <plugin>
    <groupId>cn.kyh</groupId>
    <artifactId>hello-maven-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
    </plugin>
    </plugins>
    </build>
    ```

    #### 通过mvn hello:print -Darg=message命令执行,可以在终端看到插件中的日志输出。 

  • 相关阅读:
    列式数据库
    Subway POJ
    操作系统知识汇总
    Linux工具指南
    常用数据结构
    bzoj1257: [CQOI2007]余数之和 整除分块
    HDU
    hdu1693 Eat the Trees 插头dp
    HDU
    poj2411 轮廓线dp裸题
  • 原文地址:https://www.cnblogs.com/afraidToForget/p/12877515.html
Copyright © 2011-2022 走看看