您的位置:首页 > 其它

Maven学习4:编写maven插件补充

2013-12-21 09:42 435 查看
原文地址: http://wenku.baidu.com/link?url=6eU3HumhwphOsrw0RaR2R9SF21Ov52Ond5tyEyv4e1SjsSIgEeDPcr4LCmANg2JjX15kHPS6aNslJWiIshQLBnlwflzGF90-76d8FicTIgS
1.pom.xml文件

被定义一Maven plugin packaging作为一个标准构建生命周期一部分的几个目标

compile 为插件编译java代码,构建插件描述

test 运行插件的单元测试

package 构建插件的jar包

install 将插件的jar包添加到本地资源库

deploy 给插件jar包配置远程资源库

使用编写的插件,需要在你的工程中的pom.xml文件配置如下信息

<groupId>com</groupId>

<artifactId>hello</artifactId>

<version>1.0</version>

<packaging>maven-plugin</packaging>

<name>hello</name>

<url>http://maven.apache.org</url>

使用的时候,在命令行输入mvn groupIDea:artifactIDea:version:goal格式命令,如: mvn com:hello:1.0:sayhello -Darg1=hello

2.简短明命令

1.无需配置,可以直接运行 mvn com:hello:sayhello -Darg1=hello 省略了版本信息,这样执行的是最新版本的插件

2.无需配置,如果pom.xml 文件中这么写<artifactId>maven-hello-plugin</artifactId>

artifactId中带有maven-**-plugin

可以运行mvn com:maven-hello-plugin:sayhello -Darg1=hello

可以直接运行 mvn com:hello:sayhello -Darg1=hello 简短了artifactId

3.在.m2/setting.xml中配置

<pluginGroups>

<pluginGroup>com</pluginGroup>

</pluginGroups>

这样就将groupId省略了,所以命令就简短为mvn hello:sayhello -Darg1=hello

3.可以将插件指令的goals与陈旭构建生命周期中的某一特定阶段联系在一起。

<executions>

<execution>

<phase>compile</phase>

<goals>

<goal>sayhello</goal>

</goals>

</execution>

</executions>

这样就是在程序编译阶段执行插件

4.定义参数

/**

* @parameter expression="${arg1}"

* @required

*/

String arg1;

@parameter 说明这是一个mojo参数,expression定义了变量的默认值,变量的名称通常是参数的名称arg1

5.在一个工程中配置参数

皮质参数的值是在工程的pom.xml文件中配置

<configuration>

<arg1> hello</arg1>

</configuration>

设置参数ar1的值为hello

6.参数可以是哟一个值的参数,如:integer Boolean Float Dates Files adn Directories URLs

也可以是带多个值的参数,例如数组 list maps等等

其定义歌会为

list:

<myList>

<param> value1</param>

<param> value2</param>

</myList>

arrayst:

<myArray>

<param> value1</param>

<param> value2</param>

</myArray>

maps:

<myMap>

<key1> value1</key1>

<key2> value2</key2>

</myMap>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: