Maven系列--"maven-compiler-plugin"的使用
maven是個項目管理工具,如果我們不告訴它我們的代碼要使用什麼樣的jdk版本編譯的話,它就會用maven-compiler-plugin默認的jdk版本來進行處理,這樣就容易出現版本不匹配的問題,以至於可能導致編譯不通過的問題。例如代碼中要是使用上了jdk1.7的新特性,但是maven在編譯的時候使用的是jdk1.6的版本,那這一段代碼是完全不可能編譯成.class文件的。爲了處理這一種情況的出現,在構建maven項目的時候,我習慣性第一步就是配置maven-compiler-plugin插件。
插件用法如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
< plugin >
< groupId >org.apache.maven.plugins</ groupId >
< artifactId >maven-compiler-plugin</ artifactId >
< version >3.1</ version >
< configuration >
< source >1.6</ source > <!-- 源代碼使用的開發版本 -->
< target >1.6</ target > <!-- 需要生成的目標class文件的編譯版本 -->
<!-- 一般而言,target與source是保持一致的,但是,有時候爲了讓程序能在其他版本的jdk中運行(對於低版本目標jdk,源代碼中需要沒有使用低版本jdk中不支持的語法),會存在target不同於source的情況 -->
<!-- 這下面的是可選項 -->
< meminitial >128m</ meminitial >
< maxmem >512m</ maxmem >
< fork >true</ fork > <!-- fork is enable,用於明確表示編譯版本配置的可用 -->
< compilerVersion >1.3</ compilerVersion >
<!-- 這個選項用來傳遞編譯器自身不包含但是卻支持的參數選項 -->
< compilerArgument >-verbose -bootclasspath ${java.home}\lib\rt.jar</ compilerArgument >
</ configuration >
</ plugin >
|