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>