zoukankan      html  css  js  c++  java
  • Maven2插件开发入门


    一、创建Maven项目

    首先创建一个Maven插件项目,可以手动或使用mvn archetype:create从原型创建。pom.xml配置如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <? xml  version = "1.0"  encoding = "UTF-8" ?>
    < project  xmlns = "http://maven.apache.org/POM/4.0.0"
              xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
     
         < groupId >com.cdai.demo</ groupId >
         < artifactId >hello-maven-plugin</ artifactId >
         < version >1.0-SNAPSHOT</ version >
         < modelVersion >4.0.0</ modelVersion >
         < packaging >maven-plugin</ packaging >
     
         < name >hello-maven-plugin</ name >
         < url >http://maven.apache.org</ url >
     
         < properties >
             < project.build.sourceEncoding >UTF-8</ project.build.sourceEncoding >
         </ properties >
     
         < dependencies >
             < dependency >
                 < groupId >org.apache.maven</ groupId >
                 < artifactId >maven-plugin-api</ artifactId >
                 < version >2.2.1</ version >
             </ dependency >
         </ dependencies >
     
    </ project >

    与普通的pom.xml没太多不同,要注意的两处是:
    1)packaging类型为maven-plugin
    2)需要依赖maven-plugin-api



    二、开发Helloworld插件

    Maven插件类需要继承AbstractMojo(Mojo即Maven Plain Old Java Object)。同时,
    与普通Java类相比的特别之处是:在JavaDoc注释中使用注解对插件进行配置。具体插件代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    package  com.cdai.demo.maven;
     
    import  org.apache.maven.plugin.AbstractMojo;
    import  org.apache.maven.plugin.MojoExecutionException;
    import  org.apache.maven.plugin.MojoFailureException;
     
    /**
      * Maven插件的Helloworld
      * User: cdai
      *
      * @goal info
      * @phase compile
      * @requiresProject false
      */
    public  class  HelloMavenPlugin  extends  AbstractMojo {
     
         /**
          * @parameter expression="${greeting}" default-value="Helloworld!!!"
          */
         String greeting;
     
         @Override
         public  void  execute()  throws  MojoExecutionException, MojoFailureException {
             getLog().info(greeting);
         }
     
    }



    三、安装运行插件

    开发完成后,直接mvn install将插件安装到本地Repository库中后,就可以在命令行运行插件了。
    运行命令为:mvn [groupId]:[artifactId]:[version]:[goal] -D[param]=[value]

    例如上面开发的插件就可以执行:
         mvn com.cdai.demo:hello-maven-plugin:1.0-SNAPSHOT:info -Dgreeting=hi-maven





    参考资料



  • 相关阅读:
    a<<=n
    IP地址转换、主机大小端、htonl、ntohl实现
    判断系统大小端方法分析与总结
    C++ 初始化列表(转载)
    QString::arg()//用字符串变量参数依次替代字符串中最小数值
    QTableView和QTableWidget翻页功能实现
    QTableWidget详解(样式、右键菜单、表头塌陷、多选等)
    QT CLASS
    Linux下添加新硬盘,分区及挂载
    c语言基本函数
  • 原文地址:https://www.cnblogs.com/james1207/p/3367842.html
Copyright © 2011-2022 走看看