2012-07-23 91 views
2

我目前正在設置我們的項目,通過java webstart部署給用戶,而不是當前用戶從共享網絡驅動器運行.bat文件的設置。當應用程序運行時,它會傳遞一個屬性文件參數,其中包含允許在不同環境之間切換的數據庫憑據等信息。Java Webstart應用程序 - 從單獨的文件加載屬性

我想知道是否有方法在JNLP中指定此參數文件並使webstart從Web服務器上拉下屬性文件。我花了很多時間體面的調查這個網上,我能想出是簡單地指定文件名作爲參數,像這樣的唯一的事情:

<application-desc main-class="Main"> 
     <argument>example.properties</argument> 
    </application-desc> 

,然後包括一個單獨的鏈接,讓用戶下載來自服務器的屬性文件。這個問題是,如果JNLP文件和屬性文件沒有下載到相同的目錄(這似乎是IE中的默認行爲),那麼整個應用程序就會崩潰。有沒有辦法將我的屬性文件與JNLP文件中的其他資源捆綁在一起,還是我以完全不正確的方式解決這個問題?任何幫助將不勝感激!

回答

0

看起來像jnlp是一個XML文件,其中包含一個jar文件的列表將被放置在您的類路徑。
如果您在其中一個jar中包含屬性文件,那麼您可以使用this.getClass()。getClassLoader()。getResourceAsStream(「mypropsname.properties」)來讀取它。

是否所有用戶都需要相同的屬性文件?

相關問題