1参考资料
可以参考http://central.maven.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.2/中的maven-war-plugin-2.2-source-release.zip
2改造maven插件
呼叫平台需要修改打包后class文件的日期,可以修改maven-war-plugin插件,修改org.apache.maven.plugin.war.WarMojo类的performPackaging( File warFile )方法
3自定义maven插件
3.1定义pom.xml
<packaging>maven-plugin</packaging>
3.2添加依赖
不同插件可能添加的依赖不同,以下为一个示例
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
3.3编写java类
插件名为sogoucloud,支持msg,List数组和带参数的使用
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import java.util.List;
@Mojo(name="sogoucloud",defaultPhase= LifecyclePhase.PACKAGE)
public class SogoucloudMojo extends AbstractMojo {
@Parameter
private String msg;
@Parameter
private List<String> options;
@Parameter(property = "args")
private String args;
public void execute() throws MojoExecutionException,MojoFailureException{
System.out.println("hello sogoucloud:"+msg);
System.out.println("hello sogoucloud:"+options);
System.out.println("hello sogoucloud:"+args);
}
}