Java 首选项存储在 Windows 7 中的什么位置?
2022-08-31 19:49:22
我们在一些应用程序中使用Java首选项,并没有真正注意到这一点,因为进行调用的实用程序相当古老,并且是在Windows XP时代编写的。但是,Java首选项似乎不再存储在Windows 7的注册表中 - 或者它们存储在不同的地方。
我期望它在:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs
但我没有看到它在那里。
是什么让它更聪明,是当我运行这个应用程序时:
public static void main( final String[] args ) throws BackingStoreException {
Preferences systemRoot = Preferences.systemRoot();
Preferences preferences = systemRoot.node( "com/mycompany/settings" );
systemRoot.put( "foo", "bar" );
systemRoot.put( "baz", "lolz" );
System.out.println( "-------------------------------" );
String[] keys = preferences.keys();
for( String key : keys ) {
System.out.println( key );
}
System.out.println( "-------------------------------" );
keys = systemRoot.keys();
for( String key : keys ) {
System.out.println( key );
}
}
它实际上写了(我可以注释掉并再次运行它并且它有效),但我在注册表中看不到新项。
另外,我似乎在任何地方都看不到这一点。提前致谢。
编辑 #1这很重要的唯一原因是设置会根据运行的环境而变化。话虽如此,通过手动插入注册表项然后进行一些检查来模拟该环境通常很有用。
我以管理员身份运行,但我在注册表中没有看到我期望的项。