2010-09-14 58 views
4

有沒有人有一個很好的解決方案來管理Web應用程序中的.properties文件?目前,我必須在部署之前拆分我的.war文件,更改.properties文件中的條目,然後重新部署以更改設置。用於管理glassfish/tomcat/etc中的.properties文件的優雅解決方案

或者我可以SSH入服務器,更改部署目錄中的.properties文件並重新啓動應用程序。

一位同事使用GUI在Tomcat/Glassfish實例中設置JNDI屬性並閱讀那些文件而不是.properties文件,這個解決方案相當優雅。這裏的問題是,當將應用程序交付給我們的運營團隊時,他們需要知道哪些屬性要添加到JNDI中。

有沒有人找到解決此問題的好方法?

回答

5

一個簡單的選項是將屬性文件存儲在WAR文件/ webapp外部,以便1)它們在每個部署中都不會更改,並且2)不需要進行編輯。你只需要調整你的web應用程序中的邏輯,其中找到了這些文件。

另一種選擇,只是稍微簡單一點,是在構建過程中使用過濾,以便構建WAR文件以包含爲目標環境定製的屬性文件。 AntMaven都支持使用令牌和篩選文件過濾某些資源的非常簡單的機制。

+1

++ to matt b @Benju - 很好的把屬性文件放在一些通用的地方,如果你想抽象屬性文件的位置,通過JNDI變量或JVM變量抽象出路徑。通過這種方式,您可以動態確定屬性文件的位置,並只加載該環境所需的值。另一個選擇是將WAR中的所有環境的屬性文件與_envName一起存儲在文件的名稱中(如myProperites_dev.properties等)。現在,您只需使用JNDI或JVM方法查找env並找出哪個屬性文件在運行時讀取。 – 2010-09-24 20:08:39

1

如果你可以存儲XML格式的屬性(我相信jdk支持)然後有一堆開源的庫,可以生成crud ui ....如果不是最接近的我發現是PropertySet @link text

相關問題