问题详细描述:本人装了两个版本的JDK(JDK1.8 也叫JDK 8和JDK11)以前IDEA使用的都是JDK1.8,有时偶尔用11来看看新特性。今天想将IDEA的默认JDK换成11(language level也换成11),但是每次创建新项目都会默认为1.8,手动改变模块的language level和JDK太麻烦,想一劳永逸。
如果你是JDK默认版本是11,但是模块默认的language level为8或者5也可参考此方法。
思路,可以直接略过,方法在最下面
idea每次改变模块的language level时会提示“模块xxx从maven导入…”,由此推断可能是maven问题。idea的settings中关于java compiler设置都设置过了没用,而且idea中关于maven的设置也都试过,所以推断问题在maven本身。
方法
定位到你的maven目录下的conf文件夹下settings.xml文件并编辑它,添加如下内容
<!-- 设置maven项目的默认jdk版本 -->
<profile>
<id>jdk-11</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>11</jdk>
</activation>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
注意:
- 有可能并不需要添加上述内容,因为我很早以前就改过这里,不记得这块内容是原本就有的我把它改了还是说添加上去的。建议找一下文件中是否有类似上述的xml代码被注释掉了。
- 如果你想将默认的jdk以及language level改为1.8而不是11,那么将上述代码中的11改为1.8即可。
maven版本:3.6.3
tomcat版本:9.0.20
intellij idea版本:IntelliJ IDEA 2020.3.2 (Ultimate Edition)
OS:windows 10
jdk版本:11.0.11
这样一来,你每次新建项目默认jdk以及language level都是你设置的那个。我测试了一下jdk11的var关键字没问题,编译正常通过。
大功告成,希望能帮到你。





版权声明:本文为wa_junye原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。