Maven編譯期管理插件——maven-compiler-plugin

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的插件式管理,來起到修改默認配置的功能 。 此處是一體現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章