在创建至少应在 Windows、Linux、Mac OS 和 Android 上部署的 Java 解决方案时,我们正在寻找一种方法来保留系统范围的配置数据。
在Java 中存储应用程序配置数据的正确方法是什么? 解决方案围绕特定用户的主目录进行讨论。在 Oracle 的文档页面之一上:
http://docs.oracle.com/javase/7/docs/technotes/guides/deployment/deployment-guide/properties.html
采取了类似的方法。
我们想走一条更广泛的系统路线。例如,在 linux 系统上,/etc 或 /var/lib 的子目录可能是一个合适的位置。在 Windows 上 /$WIN/System32 可能是开始,在 Mac OS 上 /System/Library 可能是位置。
JAVA_HOME - 可能是一个选项,但有它自己的问题: Windows 忽略 JAVA_HOME:如何将 JDK 设置为默认值?
java.util.Preference 类已经存在了一段时间,但 id 没有提供适当的 BackingStore 位置选择: http ://www.allaboutbalance.com/articles/disableprefs/
什么是允许
- 找出正确的系统范围目录
- 添加应用程序特定的子文件夹
- 并且可以处理属性(这可以使用常规属性文件或 java.util.Preferences 来完成)
问题的第一部分是关于平台独立方法中的正确位置。应该使用哪些目录,例如在 Android 上?以及必须处理哪些后续问题(例如访问权限)?假设是,如果存在图书馆,则问题的第一部分将通过图书馆处理这部分问题的方式来回答。因此,如果您认为没有这样的库,请您回答这部分问题。