2009-06-08 146 views
4

有沒有辦法修改作爲資源存儲在Jar文件中的屬性文件中的屬性值?寫入作爲資源包含在Jar文件中的Java屬性文件

這是我試圖處理的場景。我有一個屬性文件作爲資源存儲在我的Jar文件中。有一些系統特定的屬性,例如路徑。我希望能夠改變這個我想讓Jar文件運行的系統。

最好的解決方案是調用Jar文件內部的類/方法,它將修改Jar中包含的資源文件。另一個解決方案是在Jar文件上運行一個實用程序,該程序將修改屬性文件並重新打包所有內容。這將是我在Jar文件上運行的一次性設置過程。

回答

3

使用Preferences API存儲修改:http://java.sun.com/j2se/1.5.0/docs/api/java/util/prefs/package-frame.html

編輯重新閱讀的問題後:你在哪裏,你要的JAR發出潛在的很多人,有它定製安裝的情況嗎?如果是的話,那麼首選項就是要走的路。

如果您希望針對少量部署進行定製,那麼最好在構建時進行定製。

+0

感謝您的回覆。我的情況與您的第一種情況類似。我正在查看偏好設置。 – 2009-06-08 17:47:57

1

我想你可能會找到Apache Commons Configuration project的用法。

您可以將其設置爲使用屬性文件,並具有system and a user properties file的概念。然後,您可以將其部署到您的系統屬性文件,並且這將被用戶屬性文件覆蓋。編寫一個屬性將修改用戶屬性文件。

因此,您使用默認值部署系統屬性文件,並在覆蓋用戶屬性文件中維護更改。我過去一直使用這個功能來完成你正在做的事情,而且它工作得非常好。配置這個庫有很多種方法,所以值得看一下例子和FAQ。

+0

感謝您的信息。我會在未來的項目中記住這一點。 – 2009-06-10 00:10:36