You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加Lombok后Eclipse无法打开Java文件 报defineClass访问权限错误

Eclipse安装Lombok后无法打开Java文件报错解决方案

报错内容及翻译

错误原文:
An error has occurred. See error log for more details.
Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @1d1c37d5

翻译后内容:
发生错误,查看错误日志获取更多详情。
无法将受保护的最终方法 java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)(抛出java.lang.ClassFormatError异常)设为可访问:java.base模块未向地址为@1d1c37d5的未命名模块开放java.lang包访问权限。

故障原因

该故障出现在JDK9及更高版本的运行环境中,高版本JDK引入的Java平台模块系统(JPMS)默认限制了内部API的反射访问权限,而Lombok需要通过反射调用ClassLoader的defineClass方法完成字节码增强,权限不足就会触发该报错。

具体修复步骤

  • 完全关闭Eclipse程序,找到Eclipse安装目录下的eclipse.ini配置文件
    • Windows系统:文件直接存放在Eclipse安装根目录
    • Mac系统:右键点击Eclipse应用选择「显示包内容」,进入Contents/Eclipse路径即可找到对应文件
  • 用文本编辑器打开eclipse.ini,定位到-vmargs行,在该行下方追加以下2行配置:
    --add-opens java.base/java.lang=ALL-UNNAMED
    --add-opens java.base/java.util=ALL-UNNAMED
    
  • 保存eclipse.ini的修改后重新启动Eclipse,即可正常打开Java文件
  • 若完成上述操作后仍存在报错,将Lombok升级至1.18.20及以上版本,重新安装到Eclipse即可解决兼容性问题。

内容的提问来源于stack exchange,提问作者Thirumal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:15:04