IntelliJ IDEA 2023.2.1启动报错

本文介绍了如何处理因使用过旧版本IDEA导致的兼容性问题,方法是删除IntelliJIdea2023.2版本的插件文件夹,并确保至少安装JDK17,从而启动新版本IDEA。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于之前下载过老版本的IDEA,会遗留老版本的插件,JDK版本不兼容。
IDEA2023.2.1,最低需要JDK17。
删除:
%USERPROFILE%\AppData\Roaming\JetBrains\IntelliJIdea2023.2\plugins
下的所以插件文件夹,启动即可。

构建进程终止异常: 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
<think>我们正在解决IntelliJIDEA构建进程终止异常的问题,具体错误信息是“Unrecognizedoption:--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED”,导致无法创建Java虚拟机。这个问题通常与JDK版本和IDEA的配置有关。根据引用[2]和[3],错误信息一致,表明IDEA使用了不被当前JDK识别的JVM选项。分析原因:1.错误信息明确指出了“Unrecognizedoption:--add-opens”,这意味着我们使用的JDK版本(这里是JDK1.8)不支持`--add-opens`这个参数。这个参数是在Java9引入的模块化系统中用于开放模块的包以供反射访问的。2.因此,问题可能出在:IDEA的配置中使用了Java9+的JVM选项,而当前项目或IDEA运行环境使用的是JDK1.8(Java8),Java8不支持这个选项。解决方案:根据引用[4]中的类似问题(Tomcat启动报错),我们可以推测解决方法应该是去除这个不被识别的JVM选项。步骤:1.检查IDEA的运行环境JDK版本:IDEA本身运行需要一个JDK(称为IDE的BootJDK),这个JDK版本应该至少是Java11(因为IDEA2021.2及更高版本需要Java11+来运行)。但是,这里错误可能是项目构建时使用的JDK(项目SDK)是1.8,而IDEA在构建过程中传递了Java9+的选项。2.检查项目SDK:确保项目SDK是兼容的版本。如果项目需要使用JDK1.8,那么我们需要确保IDEA不会向构建进程传递Java9+的选项。3.修改IDEA的构建选项:我们需要在IDEA的设置中找到JVM选项配置,并移除`--add-opens`相关的参数。具体操作:1.打开IntelliJIDEA,进入设置(Settings)。2.根据引用[2]和[3]的提示,这个选项可能是配置在构建、执行、部署相关的设置中。具体路径:Build,Execution,Deployment>Compiler>BuildprocessVMoptions。3.在“BuildprocessVMoptions”中,检查是否有`--add-opens`开头的参数,如果有,将其删除。4.另外,也可以检查运行配置(Run/DebugConfigurations)中的VMoptions,确保没有这个参数。5.如果问题仍然存在,可以尝试检查IDEA的默认配置:File->NewProjectsSetup->PreferencesforNewProjects->Build,Execution,Deployment->Compiler->BuildprocessVMoptions。注意:有时这个参数可能是由插件或Gradle/Maven构建脚本添加的,因此也需要检查构建脚本(如pom.xml或build.gradle)中是否有相关配置。如果以上步骤无法解决问题,可以考虑升级项目使用的JDK版本(如果项目允许)到至少Java9,因为`--add-opens`是Java9引入的。但是,根据问题描述,用户使用的是JDK1.8,因此我们优先选择移除该参数。参考引用[4]中Tomcat启动报错的解决,也是通过去除这个参数来解决的。因此,我们建议用户按照以下步骤操作:步骤1:检查并修改BuildprocessVMoptions-打开设置:File->Settings(Windows/Linux)或IntelliJIDEA->Preferences(macOS)-导航到:Build,Execution,Deployment->Compiler-在右侧找到“BuildprocessVMoptions”文本框-删除其中包含的`--add-opens`相关参数(可能是一串以`--add-opens`开头的参数,也可能是多个,注意全部删除)-点击Apply,然后OK保存。步骤2:检查运行配置中的VMoptions-点击工具栏的运行配置下拉菜单,选择“EditConfigurations”-在左侧选择你的项目运行配置(如Application、SpringBoot等)-在右侧的“Configuration”选项卡中,找到“VMoptions”文本框-同样删除其中包含的`--add-opens`相关参数-点击Apply,然后OK保存。步骤3:重新构建项目-执行Build->RebuildProject如果问题仍然存在,请检查项目构建工具(如Maven或Gradle)的配置,确保没有在构建脚本中传递此参数。对于Maven项目,检查pom.xml中的`<build><plugins>`部分,特别是maven-surefire-plugin和maven-compiler-plugin的配置,看是否有argLine或jvmArgs设置了`--add-opens`。对于Gradle项目,检查build.gradle中test任务或application任务的jvmArgs。如果用户没有使用构建工具,而是直接使用IDEA的构建,则主要检查步骤12。如果上述步骤都不能解决,可能需要考虑升级项目使用的JDK版本(如果可行)至Java11或更高版本,因为IDEA2021.2及更高版本对Java11+的支持更好。但是,考虑到用户明确使用JDK1.8,我们优先建议移除该参数。引用[1]和[3]的错误信息一致,说明这是一个常见问题,通常通过移除不兼容的JVM参数解决。因此,总结解决方案为:在IDEA的构建进程VM选项和运行配置的VM选项中移除所有`--add-opens`参数。注意:有时候这个参数可能是由IDEA自动添加的,特别是在升级IDEA后。如果用户没有手动添加过,可能是IDEA的某个插件或设置导致的,移除即可。如果用户按照上述步骤操作后问题仍然存在,可能需要检查IDEA使用的内部JRE版本(即IDEA运行自身的JDK)。IDEA2020.3版本开始,要求使用Java11来运行IDE。但是,这通常不会影响项目构建,因为项目构建使用的是项目SDK(即用户设置的JDK)。不过,如果IDE的JDK和项目JDK混淆,也可能导致问题。建议检查环境变量JAVA_HOME是否指向了正确的JDK(至少Java11),以及项目设置中的项目SDK是否设置为JDK1.8。最后,如果问题依旧,可以尝试重新安装IDEA,或者重置IDEA的设置(File->ManageIDESettings->RestoreDefaultSettings)。但根据经验,大多数情况下,移除`--add-opens`参数即可解决问题。相关问题:1.如何检查IntelliJIDEA中项目使用的JDK版本?2.如何在IntelliJIDEA中修改构建进程的VM选项?3.为什么Java8不支持`--add-opens`参数?4.如何在Maven或Gradle中配置JVM参数以避免此类问题?5.升级项目JDK版本到Java11需要注意什么?下面我们按照用户要求生成相关问题。</think>### IntelliJ IDEA 构建进程终止异常解决方案(JDK 1.8 --add-opens 参数问题) #### 问题原因分析 根据错误信息 `Unrecognized option: --add-opens` 和引用内容[^2][^3][^4]: 1. **参数不兼容**:`--add-opens` 是 Java 9+ 引入的模块化系统参数,JDK 1.8(Java 8)无法识别该选项[^2][^3]。 2. **配置冲突**:IDEA 在构建/运行时自动添加了该参数(常见于2021.2+版本),但项目使用的 JDK 1.8 无法解析[^2][^4]。 3. **症状表现**:触发 `Could not create the Java Virtual Machine` 错误,导致构建进程终止[^3][^4]。 --- #### 完整解决步骤 ##### 方法1:移除无效参数(推荐) 1. **打开设置** `File` → `Settings` (Windows/Linux) 或 `IntelliJ IDEA` → `Preferences` (macOS) 2. **修改编译器参数** 导航至:`Build, Execution, Deployment` → `Compiler` → 在 **Build process VM options** 文本框中删除包含 `--add-opens` 的参数 → 点击 `Apply` → `OK` ![编译器设置路径示意图](https://resources.jetbrains.com/help/img/idea/2024.1/compiler_build_process_vm_options.png) *(示意图:IDEA官方文档)* 3. **检查运行配置** - 点击工具栏运行配置下拉菜单 → `Edit Configurations` - 在 `VM options` 中删除所有 `--add-opens=...` 条目 - 保存后重新构建项目 ##### 方法2:升级JDK版本(可选) 若项目允许升级: 1. 下载 [JDK 11+](https://adoptium.net/) 2. `File` → `Project Structure` → `Project SDK` 切换为新版 JDK 3. 在 `Project language level` 中选择对应版本 ##### 方法3:验证环境变量 1. 终端执行检查: ```bash echo %JAVA_HOME% # Windows echo $JAVA_HOME # Linux/macOS ``` 2. 确保 `JAVA_HOME` 指向 JDK 1.8 安装路径(如 `C:\Program Files\Java\jdk1.8.0_391`) --- #### 预防措施 1. **IDEA 配置同步** 升级IDEA时,备份 `%APPDATA%\JetBrains\IntelliJIdea2024.2\options`(Windows)或 `~/Library/Application Support/JetBrains/IntelliJIdea2024.2`(macOS)下的配置文件。 2. **项目配置隔离** 在 `.idea/compiler.xml` 中显式指定参数,避免使用全局默认值: ```xml <component name="JavacSettings"> <option name="ADDITIONAL_OPTIONS_STRING" value="-parameters" /> <!-- 只保留兼容参数 --> </component> ``` 3. **模块化兼容** 若需在 JDK 1.8 使用模块化特性,改用 `--illegal-access=warn` 等兼容参数(Java 8 支持)。 --- #### 技术原理 - **`--add-opens` 的作用**:在 Java 9+ 中开放模块包供反射访问(如 `jdk.compiler` 模块)[^4]。 - **JDK 1.8 限制**:Java 8 采用非模块化架构,相关参数会触发 `Unrecognized option` 致命错误[^3]。 - **IDEA 行为变更**:2021.2+ 版本为支持新特性(如 Lombok 注解处理),自动添加模块化参数到构建进程[^2]。 > 📌 **关键提示**:该问题与 Tomcat 启动报错 `Unrecognized option: --add-opens=java.base/java.lang=ALL-UNNAMED`[^4] 同源,解决方案通用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值