maven-compiler-plugin
maven是個(gè)項(xiàng)目管理工具,如果我們不告訴它我們的代碼要使用什么樣的jdk版本編譯的話,它就會(huì)用
maven-compiler-plugin默認(rèn)的jdk版本來進(jìn)行處理,這樣就容易出現(xiàn)版本不匹配的問題,以至于可能導(dǎo)致編譯不通過的問題。例如代碼中要是使用上了jdk1.7的新特性,但是maven在編譯的時(shí)候使用的是jdk1.6的版本,那這一段代碼是完全不可能編譯成.class文件的。為了處理這一種情況的出現(xiàn),在構(gòu)建maven項(xiàng)目的時(shí)候,我習(xí)慣性第一步就是配置maven-compiler-plugin插件。
下面看一下這個(gè)插件該怎么使用
<plugin>????<groupId>org.apache.maven.plugins</groupId>????<artifactId>maven-compiler-plugin</artifactId>????<version>3.1</version>????<configuration>????????<source>1.6</source>?????<!--?源代碼使用的開發(fā)版本?-->????????<target>1.6</target>?????<!--?需要生成的目標(biāo)class文件的編譯版本?--><!--?一般而言,target與source是保持一致的,但是,有時(shí)候?yàn)榱俗尦绦蚰茉谄渌姹镜膉dk中運(yùn)行(對(duì)于低版本目標(biāo)jdk,源代碼中需要沒有使用低版本jdk中不支持的語法),會(huì)存在target不同于source的情況?-->????<!--?這下面的是可選項(xiàng)?-->????????<meminitial>128m</meminitial>????????<maxmem>512m</maxmem>????????<fork>true</fork>?<!--,fork一般在使用不同于默認(rèn)的JDK去編譯的時(shí)候?-->?<compilerVersion>1.3</compilerVersion>????????<!--?這個(gè)選項(xiàng)用來傳遞編譯器自身不包含但是卻支持的參數(shù)選項(xiàng)?-->????????<compilerArgument>-verbose?-bootclasspath?${java.home}\lib\rt.jar</compilerArgument>????????</configuration> </plugin>很多時(shí)候,大家都喜歡在eclipse中直接生成webapp的maven項(xiàng)目,但是這樣子會(huì)產(chǎn)生很多問題,特別是使用的jdk不是maven默認(rèn)支持的jdk的時(shí)候。
一般情況下,我是先建立一個(gè)最基本的maven項(xiàng)目,類型如下
<packaging>jar</packaging>然后設(shè)置好jdk版本,再改為
再用eclipse update一下maven項(xiàng)目,eclipse的maven插件自會(huì)幫我們建立好此webapp在當(dāng)前jdk下支持的各種默認(rèn)參數(shù),然后再優(yōu)調(diào)一下就可以使用了,會(huì)省去很多麻煩事。
轉(zhuǎn)載于:https://blog.51cto.com/hanchengen/1857253
總結(jié)
以上是生活随笔為你收集整理的maven-compiler-plugin的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Notepad++免费开源文本编辑器
- 下一篇: 第四单元作业