在Java開發是我們大多都使用集成開發環境,像idea和eclipse用的都比較多,在使用idea maven構建項目時,在修改pom.xml文件時,我們的項目jdk版本都會回退,還得每次去設置中修改jdk版本,如下:
settings設置jdk版本:
project structure設置jdk版本:
經過上述兩個地方設置完成后項目正常,但是當我們在pom中添加jar依賴包時,或修改pom文件后,maven都會重新構建項目,這樣我們原來設置的jdk版本會被重置,項目中因為jdk版本過低會報錯,可能我們再按上面設置一下又會好了,但是如果我們項目比較多,或者頻繁改動pom文件,那么我們會改到肌無力,這么頻繁的修改jdk,是我們碼農無法忍受的,我們做開發的目的就是節省人力成本,有沒有一勞永逸的方法呢,答案是肯定的,我在這里介紹兩種方式:一種是針對項目設置的;一種是針對maven全局設置的;要使用哪種方式大家按自己喜好來選擇:
1.針對項目的設置:
需要我們再項目的pom.xml中配置一個pulgin:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
配置完成后,無論我們怎么修改項目,其依賴度的jdk版本都不會變化,這種方式的好處是:我們的項目往往是可能使用不用的jdk版本,若是我們無法統一各項目的jdk版本,這種方式比較適合;另一個往往我們的項目是多人協同開發的,在項目里設置,其他人pull下代碼,無需設置jdk
2.針對maven全局設置
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
這種方式設置,我們本地無論哪個項目都是使用maven中配置jdk版本,這樣所有項目中都不需要配置jdk版本,但是這種方式,最好是各個項目jdk版本是一致的,如果有不同jdk版本的項目可以單獨在項目中按第一種方式設置;另一個就是如果我們協同開發,其他人也必須在自己本地配置maven
上述兩種方式各有利弊,也可配合使用