解决Warning Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.

系统:Ubuntu 16.04 LTS

环境:vscode+java extension pack打开了一个gradle的java项目;另外,用一个terminal启动了groovysh

报错:

groovysh报错 java.util.prefs.FileSystemPreferences syncWorld
警告: Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.

 

参考资料[1]:https://stackoverflow.com/questions/2027566/java-util-prefs-throwing-backingstoreexception-why

 

解决:

根据[1]中“If two JVMs attempt to lock the file at the same then this is what you'll see.”

打开任务管理器,看到两个java进程,一个是vscode java extension 运行的 eclipse jdt 所启动的jvm(jvm1),另一个是groovysh所启动的jvm(jvm2)

所以,是因为jvm1进程已经获取lock了,导致jvm2无法获取lock而报错

关闭vscode的java项目之后,groovysh不再报错

posted @   rldts  阅读(6898)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示