运行Intellij Ultimate(2019.3.1版)时,会引发以下错误:
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
此问题的解决方法是什么?
我认为此用户偏好错误是每次打开IntelliJ都必须设置并激活IntelliJ的原因。
答案 0 :(得分:1)
~/.java/.userPrefs
目录,其子目录之一或单个文件具有错误的权限,因此JVM无法在其中写入。
如果您是从其他用户(例如root)启动某个Java应用程序,并且该目录是使用该用户的权限创建的,则会发生这种情况。
另一个可能的原因是,其他某个进程已经持有了一个锁,并且同时在操纵Java Preferences。
如果是其他持有该锁的进程,则可以尝试查找并杀死它。
如果是权限问题,最简单的解决方案是仅sudo rm -rf ~/.java/.userPrefs
,然后再次启动IDE。
您当然可以检查该位置的实际所有者/权限,并使用chown
/ chmod
(通过-R
开关递归)对其进行修复。
还值得检查.java
目录本身的权限,作为最后的选择,您可以删除它。