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"
?>
xsi:schemaLocation
=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<
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
>
<
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
参考资料