写入包含在Jar文件中作为资源的Java Properties文件

时间:2009-06-08 17:36:01

标签: java

有没有办法修改作为资源存储在Jar文件中的属性文件中的属性值?

这是我想要处理的场景。我有一个属性文件存储在我的Jar文件中作为资源。有一些特定于系统的属性,例如路径。我希望能够为我希望运行Jar文件的系统更改此设置。

最好的解决方案是调用Jar文件内部的类/方法,该类文件将修改Jar中包含的资源文件。另一个解决方案是在Jar文件上运行一个实用程序,它将修改属性文件并重新生成所有内容。这将是我在Jar文件上运行的一次性设置过程。

2 个答案:

答案 0 :(得分:3)

使用首选项API存储更改:http://java.sun.com/j2se/1.5.0/docs/api/java/util/prefs/package-frame.html

重新阅读问题后进行编辑:您是否希望将JAR发送给潜在的许多人,并在安装时进行自定义?如果是,那么prefs是可行的方法。

相反,如果您希望针对相对较少的部署进行自定义,那么在构建时进行自定义可能会更好。

答案 1 :(得分:1)

我想你可能会发现使用Apache Commons Configuration project

您可以将其设置为使用属性文件,并具有system and a user properties file的概念。然后,您可以部署到系统属性文件,并由用户属性文件覆盖。编写属性将修改用户属性文件。

因此,您使用默认值部署系统属性文件,并在更改的用户属性文件中维护更改。我过去常常使用它来完成你正在做的事情,而且效果非常好。有很多方法可以配置这个库,因此值得查看示例和FAQ。