maven-compiler-plugin
Maven是Java的項目管理工具 , 可以利用方便的插件依賴,來幫我們方便的管理項目的各個生命週期。
在項目開發過程中經常遇到:
- 代碼編寫與Java編譯器版本不兼容問題
- 文件編碼與項目編碼不一致問題
- Maven某聲明週期執行過程中遇到測試單元自動執行問題
當遇到上面問題時,我們有針對IDEA 工具層面的修正, 但針對pom更新時, 原有的修正又會回到默認的配置。開發過程中遇到很多相關的困擾 。 針對這些問題,Maven提供一 插件依賴,來提供編譯器,編碼,是否跳過測試用例,引包 等默認配置。
<plugin>
<!-- 指定maven編譯的jdk版本,如果不指定,maven3默認用jdk 1.5 maven2默認用jdk1.3 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<!-- 一般而言,target與source是保持一致的,但是,有時候爲了讓程序能在其他版本的jdk中運行(對於低版本目標jdk,源代碼中不能使用低版本jdk中不支持的語法),會存在target不同於source的情況 -->
<source>1.8</source> <!-- 源代碼使用的JDK版本 -->
<target>1.8</target> <!-- 需要生成的目標class文件的編譯版本 -->
<encoding>UTF-8</encoding><!-- 字符集編碼 -->
<skip>true</skip><!-- 跳過測試 -->
<verbose>true</verbose>
<showWarnings>true</showWarnings>
<fork>true</fork><!-- 要使compilerVersion標籤生效,還需要將fork設爲true,用於明確表示編譯版本配置的可用 -->
<meminitial>128m</meminitial><!-- 編譯器使用的初始內存 -->
<maxmem>512m</maxmem><!-- 編譯器使用的最大內存 -->
<compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument><!-- 這個選項用來傳遞編譯器自身不包含但是卻支持的參數選項 -->
</configuration>
</plugin>
Maven是項目管理工具, 利用引用pom的插件式管理,來起到修改默認配置的功能 。 此處是一體現。