博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven2插件开发入门
阅读量:5100 次
发布时间:2019-06-13

本文共 1905 字,大约阅读时间需要 6 分钟。

一、创建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
=
""
         
xmlns:xsi
=
""
         
xsi:schemaLocation
=
""
>
 
    
<
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
></
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

参考资料
1.
2.

转载于:https://www.cnblogs.com/james1207/p/3367842.html

你可能感兴趣的文章
URL编码与解码
查看>>
Eclipse 安装SVN插件
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>
软件开发和软件测试,我该如何选择?(蜗牛学院)
查看>>
基本封装方法
查看>>
[Typescript] Specify Exact Values with TypeScript’s Literal Types
查看>>
Illustrated C#学习笔记(一)
查看>>
理解oracle中连接和会话
查看>>
Scrapy实战篇(三)之爬取豆瓣电影短评
查看>>
HDU 5510 Bazinga KMP
查看>>
[13年迁移]Firefox下margin-top问题
查看>>
Zookeeper常用命令 (转)
查看>>
Bootstrap栅格学习
查看>>
程序员的数学
查看>>
聚合与组合
查看>>
洛谷 P2089 烤鸡【DFS递归/10重枚举】
查看>>
我眼中的技术地图
查看>>