转载请注明出处:http://thousandhu.github.io/2015/10/27/Maven-%E6%8F%92%E4%BB%B6%E7%BC%96%E5%86%99/
编写maven插件主要是两个部分,一个是使用这个插件的工程的pom.xml,另一个是插件本身。
首先看看工程的pom.xml
|
|
这里注意这样几个参数
- groupId:和具体程序的报名前缀要相同
- packaging: This should be set to “maven-plugin”
- dependencies:A dependency must be declared to the Maven Plugin Tools API to resolve “AbstractMojo” and related classes
- phase:就是在编译的那个阶段执行,可以参考Build Lifecycle
- goals: 这里的goal会在插件程序中作为注释,pom中提到的goal下的类中的execute会被执行
- configuration:这里主要是传入参数,比如程序中某个变量前有
/*** @parameter expression="ttlFrom"*/
的注释则会自动把值赋给这个变量。
官网的这篇文档有更多的介绍
接下来java文件
|
|
java文件中的@goal和pom.xml对应。maven编译时会执行这个注释标注的类的execute函数。
至于@parameter,我的程序中其实是没有的。String user的值直接和pom.xml的configuration通过变量名的方式对应。而且intellij中如果你在pom.xml中写没有定义名字的config,还会报错。。。
最后在java文件的命令行下执行mvn install。即可安装上mvn,这样用mvn编译时就会用到这个插件。
最后说一下版本吧,我的mvn是3.3.3,log里和mvn版本有关的信息有:
- maven-jar-plugin:2.4
- maven-plugin-plugin:3.2
- maven-install-plugin:2.4
本文采用创作共用保留署名-非商业-禁止演绎4.0国际许可证,欢迎转载,但转载请注明来自http://thousandhu.github.io,并保持转载后文章内容的完整。本人保留所有版权相关权利。