相关疑难解决方法(0)

Groovy Shell警告"无法打开/创建prefs根节点......"

我试图groovysh在Windows 8上打开Groovy Shell()并得到以下输出:

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.
Run Code Online (Sandbox Code Playgroud)

打印完上述消息后,shell按预期启动.

windows groovy groovyshell

183
推荐指数
5
解决办法
14万
查看次数

在新的Windows 8上,从/到Java首选项的读取和写入失败,

我有一个Java应用程序,Preferences通过使用:

Preferences prefs = Preferences.userNodeForPackage(MyClass.class);
prefs.get((String)key, "");
Run Code Online (Sandbox Code Playgroud)

在新的Windows 8计算机上,这失败了:

WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs 
at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
Run Code Online (Sandbox Code Playgroud)

错误代码5被拒绝访问.

我找不到任何我做错的事.谷歌和搜索引擎搜索只给出了与Windows Vista/7相关的旧结果,其中一个错误地使用了systemRoot(如何使用Java编写系统首选项?我可以调用UAC吗?).

可以通过创建HKLM/Software/JavaSoft/Prefs以及设置HKLM/Software/JavaSoft的权限来"修复"错误,如此处所述Java:java.util.Preferences失败.但这不是我可以要求用户在安装程序时执行的操作.

所以我正在寻找更好的解决方案.我最后的努力是简单地写入文件,但我想避免这样做.这似乎也是相关的我正在尝试使用来自XML的Java Prefences而不使用Windows注册表,但我看到一个与注册表相关的消息,但它被拒绝投票而没有答案.

目前我怀疑Win8 JVM错误......

问题

  • 有没有人知道不涉及编写文件的解决方案?
  • 为什么相同的代码在Windows 7中完全正常,但在Windows 8中却惨遭失败?

java registry preferences windows-8

13
推荐指数
1
解决办法
4305
查看次数

标签 统计

groovy ×1

groovyshell ×1

java ×1

preferences ×1

registry ×1

windows ×1

windows-8 ×1