maven的好处就不说了,maven插件的开发方法,请点击这里:http://maven.apache.org/guides/plugin/guide-java-plugin-development.html
写个maven插件其实非常简单,本文重点说的是开发插件时如何进行单元。
1、在插件的项目pom.xml中加入如下依赖
<dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-plugin-testing-harness</artifactId> <version>1.1</version> <scope>test</scope> </dependency>
2、在项目里建立测试类
package com.ldl.maven.test; import java.io.File; import org.apache.maven.plugin.testing.AbstractMojoTestCase; import com.ldl.maven.GoodByeMojo; public class GoodByeMojoTest extends AbstractMojoTestCase{ protected void setUp() throws Exception { super.setUp(); } public void testGoodByeMojo() throws Exception { File testPom = new File( getBasedir(),"src/test/resources/plugin-test.xml"); GoodByeMojo mojo = (GoodByeMojo) lookupMojo ("sayHi", testPom ); mojo.execute(); } }
3、在src/test/resources目录下建立plugin-test.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <build> <plugins> <plugin> <artifactId>hello-maven-plugin</artifactId> <configuration> <words>hello nandi</words> </configuration> </plugin> </plugins> </build> </project>
4、在项目的根目录下重新执行mvn eclipse:eclipse命令,以便下载依赖jar。
5、执行GoodByeMojoTest类就可以单元测试了。
注意:
1、如果出现如下异常
Component descriptor cannot be found in the component repository: org.apache.maven.plugin.Mojocom.ldl.maven:hello-maven- plugin:1:sayHi.
请在项目的根目录下执行mvn clean test-compile。
2、不要在类方法上写中文注释,有时候会出现莫名其妙的问题,这个问题哥被折磨了很久。
3、附件是demo