我正在尝试从我一直在处理的包中创建一个.JAR并遇到问题。我希望用户能够修改运行程序的属性。
我的包的文件夹结构如下所示:
├───src
│ ├───main
│ │ ├───java
(...)
│ │ └───resources
│ │ dbinterface.properties
我想覆盖dbinterface.properties文件,用户将该文件放在与jar相同的文件夹中(或放在./config
文件夹旁边)。
我尝试将.
添加到MANIFEST.MF中的类路径中,但不幸的是,这不起作用。
答案 0 :(得分:2)
我会在属性文件读取方法中实现这样的行为。您可以首先尝试在用户可以创建的位置读取属性文件,如果找不到则回退到原始默认文件。类似的东西:
BroadcastReceiver
答案 1 :(得分:1)
存储用户可编辑属性的最佳位置是 users home dir 。在Java中,我们通过System.getProperty("user.home")
对用户家庭进行系统独立访问。这指向Linux上的/home/$USER
和Windows上的%USERPROFILE%
。所有其他操作系统也受支持。
您可以首先尝试在用户可以创建的位置读取属性文件,如果找不到,则可以回退到原始默认文件。 - Galcoholic
我想避免这种情况。 - 帕德里诺
为什么?
这是最好的方法:
new File(System.getProperty("user.home"),".myProgram/dbinterface.properties")
更改的设置
(这基本上是由@Galcoholic建议的另一种方式)当使用JVM中的Properties
类加载它们时,设置将自动合并。