1 maven插件
maven是一个依赖插件的框架,maven执行的实际任务都是由插件在完成的。需要用到哪些plugin在pom.xml文件中都要指定。
每个任务对应一个插件,而每个插件都对应多个goals,比如maven-compiler-plugin的目标compile编译位于/src/main/java目录下的源码,它的另外一个目标testCompile用于编译位于/src/test/java目录下的源码。
2常用的maven plugin
2.1 maven-compiler-plugin
编译java源码,一般只需要设置jdk的版本。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
2.2 maven-jar-plugin
生成jar包,可以设置Manifest
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>xxx</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
3 maven调用plugin的两种方式
3.1 将插件目标与生命周期阶段绑定
这种情况下,只需要在命令行输入maven 生命周期阶段即可发起对插件目标的调用。
比如maven默认将maven-compiler-plugin的compile目标和compile生命周期阶段绑定,因此,执行maven compile就会先定位到compile这个生命周期,然后再定位到maven-compiler-plugin的compile目标执行。
3.2在命令行中直接指定插件和目标
maven 插件:目标,这种带冒号的调用方式和生命周期无关。
4 maven官方的两个插件列表
第一个列表的groupId为:org.apache.maven.plugins
第二个列表的groupId为:org.codehaus.mojo
5 maven插件的配置
在maven的plugin中使用configuration时是对该plugin进行配置,一个plugin如何配置,这个需要查阅更多的资料才知道。
6 将某个插件的某个goal和maven的某个阶段绑定的方法
在plugin中使用executions,在executions的execution中绑定该插件的goals/goal和maven的phase,这样,在maven执行该phase时就会执行该plugin的该goal。
另外,该已经被绑定的目标可以使用configuration进行绑定。
现在最大的问题是,哪里有某个插件如何配置的详细说明,即各个插件的的configuration如何设置?