Java无法打开/创建prefs错误

Java无法打开/创建prefs错误,java,Java,我试图让MIDI音频播放,但每当我这样做时,它总是返回错误` May 18, 2014 10:23:29 AM java.util.prefs.WindowsPreferences <init> WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error co

我试图让MIDI音频播放,但每当我这样做时,它总是返回错误`

May 18, 2014 10:23:29 AM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 
         0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

这是一个众所周知的Windows问题

HKEY\U LOCAL\U MACHINE\SOFTWARE\JavaSoft…..右键单击图标,然后将权限更改为完全操作


这是一个已知的Java bug,仍然存在于Windows10和update 112上。只要在提升的命令提示符下运行一次程序,它就会消失。

这是java的问题

我尝试只使用用户的首选项来解决问题,但是WindowsPreferences类有以下代码

static final Preferences userRoot = new WindowsPreferences(USER_ROOT_NATIVE_HANDLE, WINDOWS_ROOT_PATH);

static final Preferences systemRoot = new windowsPreferences(SYSTEM_ROOT_NATIVE_HANDLE, WINDOWS_ROOT_PATH);
所以它尝试读取系统首选项yes或yes

我曾尝试在HKEY_LOCAL_机器上更改权限,但现在在win-10中它不起作用。在过去,在win-7中,它起了作用。 这并不重要,如果使用USER\u PREFS,它只是一个跟踪

这是我的(棘手的)解决方案。。。在main方法中或在使用首选项之前编写此代码

static {
    PlatformLogger logger = PlatformLogger.getLogger("java.util.prefs");
    logger.setLevel(Level.SEVERE);
}

我在64位Windows 10上遇到了这个问题,并通过手动创建以下注册表项解决了这个问题

HKEY_LOCAL_MACHINE\Software\JavaSoft\Prefs

希望这对Windows用户有所帮助。

可能重复:尝试过,但创建新密钥时返回
无法创建密钥
可能不是权限不足的问题吗?您是否尝试以管理员身份创建密钥?谢谢,我已修复了它,我意识到我只是进入菜单并选择
new
。我实际上没有去HKEY_LOCAL_MACHINE\Software\JavaSoft`这不是一个解决方案,它只会使警告日志消失,不应该使用。为我工作,谢谢。更多详细信息,只需右键单击“JavaSoft”-“New”-“Key”,然后将Key重命名为“Prefs”。重新运行gradle任务,警告消息消失。
HKEY_LOCAL_MACHINE\Software\JavaSoft\Prefs