Maven常用插件
1. maven-compiler-plugin:
该插件用于编译源码。如果不指定使用哪个jdk版本编译的话,就会用maven-compiler-plugin默认的jdk版本进行处理,这样容易出现版本不匹配的问题。为了处理这个情况,在构件maven项目的时候,可以使用maven-compiler-plugin插件。如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
2. maven-jar-plugin:
该插件用于设置主类,因为默认的mvn install生成的jar是不带主类入口的。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<!-- 设置classpath路径 -->
<addClasspath>true</addClasspath>
<!-- 设置主类入口 --><mainClass>uk.ac.liv.jt.viewer.JTViewer</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
3. maven-assembly-plugin:
该插件能打包项目为指定格式,更重要的是能能够自定义包含/排除指定的目录或文件。如下:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<!-- 绑定到package阶段,自动打包; -->
<id>assemble</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<!-- 指定一个Assembly描述符文件,该文件指定了打包格式,包含的文件/过来的文件等信息,可以同时指定多个描述符文件,打包成不同的格式。 --><descriptor>src/main/assembly/jtv.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
<configuration>
<finalName>JTViewer</finalName>
</configuration>
</plugin>
描述符文件jtv.xml:
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>JTV</id>
<formats>
<format>zip</format><!-- 打包的文件格式 -->
</formats>
<dependencySets>
<dependencySet>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>src/main/doc</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>**</include>
</includes>
<useDefaultExcludes>true</useDefaultExcludes>
<!-- 也可以自定义excludes,如下,即表示打包时,排除WEB-INF/lib/*目录下所有的文件。
<excludes>
<exclude>WEB-INF/lib/*</exclude>
</excludes>
-->
</fileSet>
</fileSets>
</assembly>