首页 > 解决方案 > java.lang.SecurityException: Could not lock User prefs. Lock file access denied

问题描述

When running Intellij Ultimate (version 2019.3.1) it throws this error:

Internal error. Please refer to http://jb.gg/ide/critical-startup-errors

java.lang.SecurityException: Could not lock User prefs. Lock file access denied.
    at java.prefs/java.util.prefs.FileSystemPreferences.checkLockFile0ErrorCode(FileSystemPreferences.java:956)
    at java.prefs/java.util.prefs.FileSystemPreferences.lockFile(FileSystemPreferences.java:944)
    at java.prefs/java.util.prefs.FileSystemPreferences.sync(FileSystemPreferences.java:748)
    at java.prefs/java.util.prefs.FileSystemPreferences.flush(FileSystemPreferences.java:843)
    at java.prefs/java.util.prefs.FileSystemPreferences.syncWorld(FileSystemPreferences.java:483)
    at java.prefs/java.util.prefs.FileSystemPreferences$3.run(FileSystemPreferences.java:450)
    at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
    at java.base/java.util.TimerThread.run(Timer.java:506)

-----
JRE 11.0.5+10-b520.17 amd64 by JetBrains s.r.o

What's the fix for this?

This User prefs error I presume is the reason why I have to setup and activate IntelliJ each time it is opened.

标签: ubuntuintellij-idea

解决方案


~/.java/.userPrefs目录,其子目录之一或单个文件具有错误的权限,因此 JVM 无法在那里写入。

如果您从其他用户(例如 root)启动了某个 Java 应用程序并且该目录是使用该用户的权限创建的,则可能会发生这种情况。

另一个可能的原因是其他一些进程已经持有锁并同时操作 Java 首选项。

如果是其他进程持有锁,你可以尝试找到并杀死它。

如果是权限问题,最简单的解决方案是sudo rm -rf ~/.java/.userPrefs重新启动 IDE。

您当然可以检查此位置的实际所有者/权限并使用chown/ (使用开关chmod递归)修复它们。-R

检查目录本身的权限也是值得的.java,作为最后的手段,您可以删除它。


推荐阅读