Java 首选API存储
如果我使用存储用户或系统首选项,它们存储在Windows和Unix上的何处?对于Windows systemRoot和userRoot分别存储在HKEY\U LOCAL\U MACHINE\SOFTWARE\JavaSoft\Prefs和HKEY\U CURRENT\U user\SOFTWARE\JavaSoft\Prefs中 对于Unix,systemRoot和userRoot分别存储在“/etc/.java”和“${user.home}/.java/.userPrefs”中Java 首选API存储,java,preferences,Java,Preferences,如果我使用存储用户或系统首选项,它们存储在Windows和Unix上的何处?对于Windows systemRoot和userRoot分别存储在HKEY\U LOCAL\U MACHINE\SOFTWARE\JavaSoft\Prefs和HKEY\U CURRENT\U user\SOFTWARE\JavaSoft\Prefs中 对于Unix,systemRoot和userRoot分别存储在“/etc/.java”和“${user.home}/.java/.userPrefs”中 请注意,对于U
请注意,对于Unix,可以通过指定“java.util.prefs.userRoot”和“java.util.prefs.systemRoot”属性来更改位置,因为在我看来,存储位置是一团乱。 请注意,Windows将其保存在Windows注册表中,Unix将其保存在prefs.xml-files中 用户根
- Windows(32位):
HKEY\U当前\U用户\Software\JavaSoft\Prefs
- 带JVM(64位)的Windows(64位):
HKEY\u CURRENT\u USER\Software\JavaSoft\Prefs
- 带JVM(32位)的Windows(64位):
HKEY\u CURRENT\u USER\Software\Wow6432Node\JavaSoft\Prefs
- Unix:
或(如果未设置上一个值)System.getProperty(“java.util.prefs.userRoot”)
~/.java/.userPrefs
- Windows(32位):
HKEY\U LOCAL\U MACHINE\Software\JavaSoft\Prefs
- 带JVM(64位)的Windows(64位):
HKEY\U LOCAL\U MACHINE\Software\JavaSoft\Prefs
- 带JVM(32位)的Windows(64位):
HKEY\U LOCAL\U MACHINE\Software\Wow6432Node\JavaSoft\Prefs
- Unix:
或(如果未设置上一个值)System.getProperty(“java.util.prefs.systemRoot”)
(System.getProperty(“java.home”)+“/.systemPrefs”
可能是System.getProperty(“java.home”)
。您可以在带有/etc/.java/
的终端中进行检查)$java\u home
MacOSXPreferenceFactory
类java.util.prefs.MacOSXPreferenceFactory
类应该在JDK 1.7或更高版本中的rt.jar
中。我没有Mac电脑,因此无法进一步评论。有关源代码,请参阅。@RichardNeish嗯,我正在JDK 8上编译。。。下面是java.util.prefs
中的所有项目:对于Unix,请注意FileSystemPreferences
始终将.java/.userPrefs
根添加到配置的路径上。因此,java.util.prefs.userRoot的等效默认属性设置实际上只是主目录(或者您所说的~
)。