本文基于eclipse ee.
/** * 用于输出消息的Mojo * @goal hello */ public class HelloMojo extends AbstractMojo { /** * @parameter expression="${echo.message}" default-value="Hello Maven World..." */ private Object message; public void execute() throws MojoExecutionException { getLog().info(message.toString()); } }
配置M2_HOME/settings.xml添加插件组:
<pluginGroups> <!-- 插件的groupId --> <pluginGroup>org.idestiny.learn.maven</pluginGroup> </pluginGroups>于是你可以通过前缀来运行插件目标,那么mvn默认会以{prefix}-maven-plugin或maven-{prefix}-plugin去找对应的插件,在这里prefix即为hello:
那么如何在我们install我们的插件时就指定其前缀,而不是像上面这样,我们需要在build插件时,加上一个插件即可,加入配置到pom.xml:
<build> <plugins> <!-- 配置本插件的前缀, 则可以通过 abcd:hello 运行本插件目标hello --> <plugin> <artifactId>maven-plugin-plugin</artifactId> <version>2.3</version> <configuration> <goalPrefix>abcd</goalPrefix> </configuration> </plugin> </plugins> </build>
具体其他一些api细节可以参考:
http://maven.apache.org/developers/mojo-api-specification.html
不吝指正。
原文地址:http://my.oschina.net/indestiny/blog/290061