原因是preferences-systems试图在“普通”用户在Linux工作站上没有写权限的位置写一个锁文件。(/opt/j2se/linux/ix86/j2se_1.5.0_12/jre/.systemPrefs/.system.lock)
1)我不能给目录写权限。
2)我正在做这样的事情:
private void loadSamplePreferences() throws IOException,
BackingStoreException, InvalidPreferencesFormatException {
ClassLoader contextClassLoader = Thread.currentThread()
.getContextClassLoader();
InputStream stream = contextClassLoader
.getResourceAsStream("example.xml");
Preferences pref = Preferences.systemRoot().node("example");
pref.removeNode();
Preferences.importPreferences(stream);
}我尝试使用虚拟工厂设置首选项,但在加载时仍然存在问题
System.setProperty("java.util.prefs.PreferencesFactory", "DisabledPreferencesFactory");
System.setProperty("java.util.prefs.systemRoot", targetpath);
System.setProperty("java.util.prefs.userRoot", targetpath);如何解决这个问题?
发布于 2011-06-21 22:40:06
您可能想要使用Preferences pref = Preferences.userRoot().node("example"); ...systemRoot旨在为所有用户提供系统范围的首选项。
https://stackoverflow.com/questions/6425634
复制相似问题