系統:Ubuntu 16.04 LTSjava
環境:vscode+java extension pack打開了一個gradle的java項目;另外,用一個terminal啓動了groovysheclipse
報錯:jvm
groovysh報錯 java.util.prefs.FileSystemPreferences syncWorld
警告: Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.gradle
參考資料[1]:https://stackoverflow.com/questions/2027566/java-util-prefs-throwing-backingstoreexception-whythis
解決:code
根據[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)ip
因此,是由於jvm1進程已經獲取lock了,致使jvm2沒法獲取lock而報錯terminal
關閉vscode的java項目以後,groovysh再也不報錯get