Eclipse按Ctrl+Space代码补全抛出TemplateProposalComputer运行时异常
问题根源
该报错不是系统文件权限不足导致,异常栈中出现的ro.sync.security.manager.SandboxSecurityManager是Oxygen XML系列插件携带的沙箱安全管理器,它在Java层面拦截了Eclipse JDT插件的写入请求:触发代码补全的模板建议功能时,需要加载模板对应的图标并生成临时缓存文件,该操作被沙箱安全管理器的权限规则拦截,因此抛出java.security.AccessControlException异常。
解决方案
- 卸载不需要的Oxygen XML系列插件,重启Eclipse即可恢复默认模板建议功能。
- 若需保留Oxygen XML插件,可在Eclipse安装目录下找到
eclipse.ini配置文件,在-vmargs参数后追加一行配置:
保存后重启Eclipse,禁用该沙箱安全管理器即可解除写入限制。-Dro.sync.security.manager.disabled=true - 也可将Oxygen XML插件升级至最新正式版本,该兼容性问题在后续版本中已被官方修复。
- 临时应急可继续使用之前的方案,在内容辅助设置中禁用Template Proposals选项,但该方案会丢失代码模板补全能力,不推荐长期使用。
- 若上述方案无效,可尝试清理Eclipse运行缓存:关闭Eclipse后删除安装目录下
configuration/org.eclipse.osgi文件夹,重启Eclipse会自动重新生成缓存文件,可解决部分缓存损坏导致的权限异常。
内容的提问来源于stack exchange,提问作者Martin Fernau
相关产品推荐
相关产品推荐

