IDEA maven变更后导致自动重置LanguageLevel和JavaCompiler版本的问题

本文介绍如何解决IntelliJ IDEA中Maven项目默认Java版本过低的问题,通过在pom.xml文件中配置maven-compiler-plugin插件,可以避免IDEA每次刷新pom.xml时重置Java版本配置。

使用IDEA时,导入的Maven项目默认的LanguageLevel和JavaCompiler都是1.5,1.5的情况下连最简单的@Override注解都不支持。

虽然可以通过setting中可以修改JavaCompiler版本和在Project Structure可以修改LanguageLevel,但是一旦Maven项目有变化,甚至刷新一下pom.xml,IDEA会重置这些配置。相当的苦逼。

苦逼如下:


解决办法:

在pom.xml中指定maven-compiler-plugin的版本,该版本会同时影响LanguageLevel和JavaCompiler,修改后默认就成了这里设置的版本。

添加配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
< 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 >
注:这里设置的1.8,根据个人需要修改即可。如果pom.xml中已经有指定<build>,你只需从<plugin>节点开始添加到配置即可。
构建进程终止异常: C:\Users\xxzxhn\.jdks\openjdk-21.0.2\bin\java.exe -Xmx700m -Djava.awt.headless=true "-Djna.boot.library.path=D:\IDEA\IntelliJ IDEA 2024.1.4/lib/jna/amd64" -Djna.nosys=true -Djna.noclasspath=true --add-opens jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED -Dpreload.project.path=C:/Users/xxzxhn/IdeaProjects/InterfaceDemo -Dpreload.config.path=C:/Users/xxzxhn/AppData/Roaming/JetBrains/IntelliJIdea2024.1/options -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Didea.IntToIntBtree.page.size=32768 -Djdt.compiler.useSingleThread=true -Daether.connector.resumeDownloads=false -Dio.netty.initialSeedUniquifier=1609067845224991422 -Dfile.encoding=GBK -Duser.language=zh -Duser.country=CN -Didea.paths.selector=IntelliJIdea2024.1 -Djps.language.bundle=C:/Users/xxzxhn/AppData/Roaming/JetBrains/IntelliJIdea2024.1/plugins/zh.241.271/lib/zh.241.271.jar "-Didea.home.path=D:/IDEA/IntelliJ IDEA 2024.1.4" -Didea.config.path=C:/Users/xxzxhn/AppData/Roaming/JetBrains/IntelliJIdea2024.1 -Didea.plugins.path=C:/Users/xxzxhn/AppData/Roaming/JetBrains/IntelliJIdea2024.1/plugins -Djps.log.dir=C:/Users/xxzxhn/AppData/Local/JetBrains/IntelliJIdea2024.1/log/build-log "-Djps.fallback.jdk.home=D:/IDEA/IntelliJ IDEA 2024.1.4/jbr" -Djps.fallback.jdk.version=17.0.11 -Dio.netty.noUnsafe=true -Djava.io.tmpdir=C:/Users/xxzxhn/AppData/Local/JetBrains/IntelliJIdea2024.1/compile-server/interfacedemo_a13bff99/_temp_ -Djps.backward.ref.index.builder=true -Djps.backward.ref.index.builder.fs.case.sensitive=false "-Djps.kotlin.home=D:\IDEA\IntelliJ IDEA 2024.1.4\plugins\Kotlin\kotlinc" -Dkotlin.incremental.compilation=true -Dkotlin.incremental.compilation.js=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=\"C:\Users\xxzxhn\AppData\Local\Temp\kotlin-idea-11542373924410988576-is-running\" -Dide.propagate.context=false -classpath "D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/java/lib/jps-launcher.jar" org.jetbrains.jps.cmdline.Launcher "D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/java/lib/jps-builders.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/java/lib/jps-builders-6.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/java/lib/jps-javac-extension.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/util-8.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/util_rt.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/platform-loader.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/annotations.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/trove.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/java/lib/jetbrains.kotlinx.metadata.jvm.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/protobuf.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/jps-model.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/java/lib/javac2.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/forms_rt.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/util.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/java/lib/aether-dependency-resolver.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/java/lib/maven-resolver-connector-basic.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/java/lib/maven-resolver-transport-file.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/java/lib/maven-resolver-transport-http.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/idea_rt.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/JavaEE/lib/jasper-v2-rt.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/lib/util-8.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/eclipse/lib/eclipse-jps.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/eclipse/lib/eclipse-common.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/JavaEE/lib/javaee-jps.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/uiDesigner/lib/jps/java-guiForms-jps.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/platform-langInjection/lib/java-langInjection-jps.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/javaFX/lib/javaFX-jps.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/javaFX/lib/javaFX-common.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/Groovy/lib/groovy-jps.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/Groovy/lib/groovy-constants-rt.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/maven/lib/maven-jps.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/gradle-java/lib/gradle-jps.jar;D:/IDEA/IntelliJ IDEA 2024.1.4/plugins/JPA/lib/jps/javaee-jpa-jps.jar" org.jetbrains.jps.cmdline.BuildMain 127.0.0.1 55706 15d6a506-8ab5-4ff3-a6a9-0df58f4651c6 C:/Users/xxzxhn/AppData/Local/JetBrains/IntelliJIdea2024.1/compile-server Error occurred during initialization of VM Failed setting boot class path.
08-28
构建进程终止异常: E:\java1.8\bin\java.exe -Xmx700m -Djava.awt.headless=true "-Djna.boot.library.path=E:\java\IntelliJ IDEA 2023.3.5/lib/jna/amd64" -Djna.nosys=true -Djna.noclasspath=true --add-opens jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED -Dexternal.project.config=C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2023.3\projects\idea.ab213168\external_build_system -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Didea.IntToIntBtree.page.size=32768 -Djdt.compiler.useSingleThread=true -Daether.connector.resumeDownloads=false -Dio.netty.initialSeedUniquifier=-6594564397984754867 -Dfile.encoding=GBK -Duser.language=zh -Duser.country=CN -Didea.paths.selector=IntelliJIdea2023.3 -Djps.language.bundle=C:/Users/Lenovo/AppData/Roaming/JetBrains/IntelliJIdea2023.3/plugins/zh.233.407/lib/zh.233.407.jar "-Didea.home.path=E:/java/IntelliJ IDEA 2023.3.5" -Didea.config.path=C:/Users/Lenovo/AppData/Roaming/JetBrains/IntelliJIdea2023.3 -Didea.plugins.path=C:/Users/Lenovo/AppData/Roaming/JetBrains/IntelliJIdea2023.3/plugins -Djps.log.dir=C:/Users/Lenovo/AppData/Local/JetBrains/IntelliJIdea2023.3/log/build-log "-Djps.fallback.jdk.home=E:/java/IntelliJ IDEA 2023.3.5/jbr" -Djps.fallback.jdk.version=17.0.10 -Dio.netty.noUnsafe=true -Djava.io.tmpdir=C:/Users/Lenovo/AppData/Local/JetBrains/IntelliJIdea2023.3/compile-server/idea_2f20a311/_temp_ -Djps.backward
06-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值