坚信科学,分享技术

2018全新版本,未来在blog.54chen.com更新博客!

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

maven插件编写实例

apache maven

概况
实现一个自定义的类,必须要继承自 org.apache.maven.plugin.AbstractMojo,同时实现execute方法。
maven使用了在注释中写代码,BT的写法,所以注释里的@goal @parameter都是有含义的。

实例

  1. mvn hello:gogo  

这样的一个命令,到代码里,应该是如下过程

进入
hello被叫做plugin的prefix,maven会去寻找以hello开头的插件。
在插件的pom里必须定义其名字为hello开头的,例如:

  1. <artifactId>hello-maven-plugin</artifactId>  

goal目标
hello后面的gogo叫做goal,目标,则以注释中写代码的方式来完成:

  1. /** 
  2. *@goal gogo 
  3. **/  
  4. HelloMojo extends AbstractMojo  

需要的依赖

  1. <dependency>  
  2.  <groupId>org.apache.maven</groupId>  
  3.  <artifactId>maven-plugin-api</artifactId>  
  4.  <version>3.0.3</version>  
  5. </dependency>  

必需的选项

  1. <packaging>maven-plugin</packaging>  

必需要是maven-plugin才能成功。

参数
如果要传什么参数给插件,应该是

  1. /** 
  2. * if false all compression is off (default is true) 
  3. * 
  4. * @parameter expression="${hello.enabled}" default-value="true" 
  5. */  
  6. private Boolean enabled=true;  

使用时项目定义
然后在使用的项目里,需要定义的有

  1. <plugin>  
  2.     <groupId>com.chen</groupId>  
  3.     <artifactId>demo-maven-plugin</artifactId>  
  4.     <version>1.0</version>  
  5.     <configuration>  
  6.         <goalPrefix>hello</goalPrefix>  
  7.         <enabled>false</enabled>  
  8.     </configuration>  
  9. </plugin>  

然后执行上述命令时自然可以执行HelloMojo的execute方法。


原创文章如转载,请注明:转载自五四陈科学院[http://www.54chen.com]
本文链接: http://www.54chen.com/java-ee/maven-plugin.html

This entry was posted in java and tagged . Bookmark the permalink.

Leave a Reply