すべてのユーザーがアクセスできるように、Javaアプリに永続ストレージを作成する必要があります。それで、私はWindowsでうまく機能することを研究しjava.util.prefs.Preferences
て使用し、Registerにデータを保存していました。systemRoot()
しかし、私は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
いないと思います。なにか提案を?前もって感謝します!