我需要在我的 Java 应用程序中创建一个持久存储,以便所有用户都可以访问它。因此,我正在研究java.util.prefs.Preferences
并systemRoot()
在 Windows 上使用适合我的作品,将数据保存在 Register 上。但我在 Linux (Ubuntu) 上确实面临一些问题。我想使用我们其他应用程序已经使用的目录:/usr/share/。所以,我试图systemRoot
在运行时将默认目录重定向到 /usr/share。这是我的代码:
System.setProperty("java -Djava.util.prefs.systemRoot", "/usr/share/myfolder");
Preferences pref = Preferences.systemRoot().node("/usr/share/myfolder");
根据这个站点,我必须.systemPrefs
在执行这个命令行之前创建文件夹,并且它的隐含systemRoot()
将使用它。
当我执行我的程序时,我收到以下警告:
java.util.prefs.FileSystemPreferences syncWorld
WARNING Couldn't flush system prefs: java.util.prefs.BackingStoreException: /etc/.java/.systemPrefs/usr create failed.
所以我假设这System.setProperty
不起作用。有什么建议吗?提前致谢!