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

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

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

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

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

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

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

我想你可能会发现使用的Apache Commons Configuration项目 。

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

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