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

Eclipse 2022-06退出时java.security.AccessControlException写入权限问题求助

Eclipse 2022-06 退出工作区时java.security.AccessControlException权限问题解决

问题背景

升级Eclipse至2022-06版本后,在Windows 10、Java 17.0.3(Azul Systems, Inc.)环境下,修改系统属性或项目内容后退出新建工作区时,弹出错误提示:

Problems occurred while trying to save the state of the workbench.

具体异常为java.security.AccessControlException,提示拒绝写入state.dat或.markers文件,异常栈信息如下:

at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:485)
at java.base/java.security.AccessController.checkPermission(AccessController.java:1068)
at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:416)
at java.base/java.lang.SecurityManager.checkWrite(SecurityManager.java:847)
at ro.sync.security.manager.SandboxSecurityManager.checkWrite(SandboxSecurityManager.java:188)
at java.base/java.io.FileOutputStream.(FileOutputStream.java:223)
at java.base/java.io.FileOutputStream.(FileOutputStream.java:184)
at org.eclipse.jdt.internal.core.JavaModelManager.createOutputStream(JavaModelManager.java:4387)
at org.eclipse.jdt.internal.core.JavaModelManager.saveBuiltState(JavaModelManager.java:4341)
at org.eclipse.jdt.internal.core.JavaModelManager.saveState(JavaModelManager.java:4323)
at org.eclipse.jdt.internal.core.JavaModelManager.lambda$1(JavaModelManager.java:4699)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2183)
at java.base/java.util.stream.Nodes$CollectorTask$OfRef.doLeaf(Nodes.java:2193)
at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686)
at java.base/java.util.stream.Nodes.collect(Nodes.java:328)
at java.base/java.util.stream.ReferencePipeline.evaluateToNode(ReferencePipeline.java:111)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:570)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
at org.eclipse.jdt.internal.core.JavaModelManager.lambda$0(JavaModelManager.java:4704)
at java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1428)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

已尝试在java.policy文件中添加项目路径写入权限,但问题未解决。

已知情况

这是Eclipse 2022-06版本与第三方安全管理器(异常栈中的ro.sync.security.manager.SandboxSecurityManager属于Oxygen XML Editor相关组件)的兼容性问题,第三方安全管理器限制了Eclipse JDT组件写入工作区状态文件的权限,并非Eclipse原生组件的问题。

解决建议

  • 禁用第三方安全管理器相关插件:若安装了Oxygen XML Editor插件,暂时禁用该插件,重启Eclipse后验证问题是否消失。
  • 修改Eclipse启动参数:在Eclipse安装目录下的eclipse.ini文件中添加以下参数,绕过安全管理器限制:
    -Djava.security.manager=allow
    --add-opens=java.base/java.lang=ALL-UNNAMED
    --add-opens=java.base/java.io=ALL-UNNAMED
    
  • 调整工作区目录权限:确保当前Windows用户对工作区文件夹拥有完全控制权限,右键工作区文件夹 → 属性 → 安全 → 编辑,给当前用户添加“完全控制”权限。
  • 升级Eclipse版本:该兼容性问题在Eclipse 2022-09及后续版本中已修复,升级到最新稳定版可彻底解决问题。
  • 重新配置java.policy权限:之前的配置可能未覆盖正确路径,需添加工作区.metadata目录的写入权限,在java.policy文件中添加:
    permission java.io.FilePermission "${user.home}/path/to/your/workspace/.metadata/-", "write";
    
    替换${user.home}/path/to/your/workspace为实际工作区路径,路径使用正斜杠或转义反斜杠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:09:22