如何編寫一個Maven插件
本文基于eclipse ee.
- 建立一個maven插件工程: </ul>
- 主要就是讓項目能依賴maven-plugin-api: </ul>
- 編寫一個Mojo類: </ul>
- 用于輸出消息的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()); } }</pre>
- 安裝到本地 mvn install
- 運行插件:
- 但是對于上面我們運行插件時要寫這么多<groupId>:<artifactId>:<version>:goal是一件比較痛苦的事,我們需要配置一個前綴來運行我們的插件,比如hello:hello即表示運行hello-mave-plugin的hello的目標:
配置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>
- mvn install安裝插件,運行插件abcd:hello:
具體其他一些api細節可以參考:
http://maven.apache.org/developers/mojo-api-specification.html
來自:http://my.oschina.net/indestiny/blog/290061
</span>
/**
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!