-
問題
maven打包編譯時(shí)自動切換jdk5注簿。
idea打開新的項(xiàng)目待锈,通過maven對其打包的時(shí)候湖员,提示是jdk5環(huán)境!
本能的想到新項(xiàng)目是否 子模塊未指定jdk版本贫悄。于是進(jìn)行了如下圖操作。
以前遇到過類似的事情娘摔,idea打開新項(xiàng)目有時(shí)候會默認(rèn)使用自帶的jdk11.這是只需要在這里修改一下就會好了窄坦。
但今天沒有生效,于是考慮是否是因?yàn)楦鼡Q了maven的setting文件導(dǎo)致的凳寺。因?yàn)檫@個(gè)項(xiàng)目比較獨(dú)立鸭津,setting文件只添加了aliyun倉庫代理。
這里我切換回原來的公司項(xiàng)目用的setting文件肠缨,配置的東西比較多逆趋。再次啟動正常了。
這時(shí)對比兩個(gè)setting文件晒奕,排除倉庫父泳、映射等配置般哼,還剩下一個(gè)環(huán)境配置可能會影響。
<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>
使用過spring多環(huán)境配置的小伙伴比較熟悉惠窄,一般情況下會在pom文件中配置多個(gè)環(huán)境蒸眠,比如:開發(fā)、測試杆融、預(yù)發(fā)布楞卡、發(fā)布等∑⑿或者配置多個(gè)pom文件蒋腮,在打包的時(shí)候控制打入的pom文件。這個(gè)就不多說了藕各。
這個(gè)配置也可以在pom文件中添加池摧,添加后會在idea的maven管理窗口新增一個(gè)環(huán)境。
加入配置激况,測試后作彤,是可以的。
但個(gè)人很不喜歡這樣乌逐,如果在setting中配置竭讳,意味著對所有使用同一個(gè)配置文件的項(xiàng)目都有效,非常難看。強(qiáng)迫癥的噩夢浙踢。
因此本人更推薦一下幾種:
方式1:
在當(dāng)前maven項(xiàng)目pom文件中指定編譯的jdk版本绢慢。
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
方式2:
使用 maven-compiler-plugin 插件指定當(dāng)前項(xiàng)目編譯的jdk版本
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
方式3:針對springboot項(xiàng)目。只要指定java版本即可洛波。如果使用springboot官方的初始化項(xiàng)目工具胰舆,那么會默認(rèn)添加這個(gè)配置,所以以前很少遇到這個(gè)問題蹬挤。
<properties>
<java.version>1.8</java.version>
</properties>