如何修改java.system.class.loader属性?Ubuntu20.04下IntelliJ IDEA启动报错
Ubuntu 20.04 IntelliJ IDEA 启动报错解决方案
错误说明
执行启动命令intellij-idea-community后返回如下错误:
Java HotSpot(TM) 64-Bit Server VM warning: Archived non-system classes are disabled because the java.system.class.loader property is specified (value = "com.intellij.util.lang.PathClassLoader"). To use archived non-system classes, this property must not be set IDE has not been initialized yet
错误核心是JVM的归档非系统类优化特性和IDEA默认指定的自定义系统类加载器配置冲突,导致IDE初始化失败。
修复步骤
- 找到IDEA的JVM参数配置文件,优先修改用户级配置(不会影响其他使用该安装包的用户,也不会在版本更新时被覆盖):
- 用户级配置路径:
~/.config/JetBrains/IdeaIC<版本号>/idea64.vmoptions,可直接用通配符匹配路径:~/.config/JetBrains/IdeaIC*/idea64.vmoptions - 全局安装级配置路径(如果找不到用户级配置再修改这个):
/opt/intellij-idea-community/bin/idea64.vmoptions
- 用文本编辑器打开配置文件,示例用nano打开用户级配置:
nano ~/.config/JetBrains/IdeaIC*/idea64.vmoptions
- 在文件中找到如下配置行:
-Djava.system.class.loader=com.intellij.util.lang.PathClassLoader
删除这一行,或者在开头加#注释掉:
# -Djava.system.class.loader=com.intellij.util.lang.PathClassLoader
- 保存修改并退出编辑器(nano按
Ctrl+O回车保存,Ctrl+X退出) - 重新执行启动命令
intellij-idea-community即可正常启动。
注:删除/注释该配置不会影响IDEA的常规功能,仅会关闭冲突的JVM归档类优化特性,对IDE的运行效率和启动速度影响极小,可以忽略。
临时测试方法
如果不想直接修改配置,可以先执行以下命令临时覆盖参数验证修复效果:
_JAVA_OPTIONS="-Djava.system.class.loader=" intellij-idea-community
如果该命令可以正常启动IDEA,再按照上面的步骤修改配置文件永久生效即可。
内容的提问来源于stack exchange,提问作者Vaibhav Goyal
相关产品推荐
相关产品推荐

