java maven 编辑器,Maven compiler 插件
此插件用于對當前項目的源碼進行編譯。從3.0開臺,默認編譯器是javax.tools.JavaCompiler(如果你的java為1.6及以上版本)。如果想要強制使用javac,則必須配置插件選項forceJavacCompilerUse。另外要注意的是,目前默認的 source 為1.5,并且默認的target也為1.5,這與Maven時所依賴的jdk無關。如果要更改這些默認值,則需要去設置java編譯器的 -source 和 -target 選項。
compile
用于對項目中的源碼文件進行編譯。這個goal 默認被綁定到了 compile phase 可以在Maven對項目構建的生命周期中自動執行。
testCompile
用于對項目中的測試代碼文件進行編譯。這個goal默認已經被綁定到 testCompile phase,可以在Maven對項目構建的生命周期中自動執行。
設置java編譯器的 -source 和 -target 參數
有時候可能需要將某個項目編譯為與當前使用版本不同的版本。javac 命令可以接受 -source 和 -target 參數用于對源代碼和生成的目標字節源所運行的java環境進行說明,此插件也有類似的配置。
例如,如果使用的是java8語法編寫的源碼(-source 1.8),并且希望編譯的類與 JVM1.8(-target 1.8)兼容,則可以添加發下兩個屬性,它們是插件默認參數的名稱。
[...]
1.8
1.8
[...]
或者像下面這樣直接對此插件進行配置
[...]
[...]
org.apache.maven.plugins
maven-compiler-plugin
3.7.0
1.8
1.8
[...]
[...]
注意:僅僅設置 target 選項,并不能保證你的代碼在指定版本的jre上運行。設置source 選項也不能保證你的代碼在指定的jdk上編譯。要用特定的與用于啟動Maven的版本不同的JKD版本編譯代碼,可以參閱下面小節的內容。
使用其他JDK編譯
要使用不同的JDK對項目進行構建,最佳方式是使用工具鏈機制(toolchains插件)。在構建項目的過程中,每個步驟都需要JDK中的一個工具來執行,如編譯源碼,生成javadoc,運行單元測試或生成jar。工具鏈就是用于指定JDK路徑,以集中配置的方式把指定的JDK應用于所有插件。詳細內容可以參閱Maven 中 toolchains插件的幫助文檔。
除了使用toolchains插件外,還可以使用compilerVersion參數指定compiler插件所使用的編譯器版本。只是必須把fork參數設置為true,它才能正常工作。
[...]
[...]
org.apache.maven.plugins
maven-compiler-plugin
3.7.0
true
true
1.3
[...]
[...]
為了避免硬編譯文件系統路徑,可以使用屬性。
$ {JAVA_1_4_HOME} / bin / javac executable>
然后每個開發人員在settings.xml中定義該屬性,或設置一個環境變量,以便pom.xml保持可移植性。
[...]
[...]
compiler
C:\Program Files\Java\j2sdk1.4.2_09
[...]
compiler
總結
以上是生活随笔為你收集整理的java maven 编辑器,Maven compiler 插件的全部內容,希望文章能夠幫你解決所遇到的問題。