![](/img/trans.png)
[英]How do I specify a logback configuration for use in a Java webstart application?
[英]How to include external configuration for webstart application
我有需要外部配置的Webstart應用程序。 配置必須是外部的,因為它將由我們的客戶手動更改。 我考慮過使用此配置添加另一個jar。 申請已簽名,不能將我們的鑰匙提供給客戶。 我傾向於將此文件放置為可從Web服務器訪問。
如何從webstart應用程序內部檢索代碼庫url,或者有沒有辦法配置webstart jnlp文件以將jar以外的其他文件添加到類路徑?
如果有線索,我會使用maven進行完整構建。
任何其他想法都是可以接受的。
您可以使用BasicService.getCodeBase
獲得代碼庫。
您可以使用Java Preferences API來存儲外部配置數據。 這對於人機是本地的。 在Windows上,它使用注冊表;在Unix上,它使用經典的“ .xyz”文件。
您最好在您的應用程序上有一些UI來操縱此配置(將用戶發送到RegEdit並不是一件好事),但這並不一定要光榮。 名稱/值對編輯器將完成此任務。 並使用合理的默認值來啟動“未配置”的應用程序。
在此處查看jnlp語法參考: http : //java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/syntax.html
對您來說重要的一點是“資源”標簽:
<resources>
<j2se version="1.4.2+" java-vm-args="-esa -Xnoclassgc"/>
<jar href="lib/SwingSet2.jar"/>
</resources>
在上面的示例中,將SwingSet2.jar添加到類路徑中。 在類路徑上需要更多的jar? 添加另一個jar資源
<resources>
<j2se version="1.4.2+" java-vm-args="-esa -Xnoclassgc"/>
<jar href="lib/SwingSet2.jar"/>
<jar href="lib/SwingSetSupplment.jar"/>
</resources>
我在代碼庫中遇到了同樣的麻煩。 我最終使用了JnlpServlet(您必須對其進行谷歌搜索。.我只能發布一個超鏈接:(),以便在提供jnlp文件時自動包含正確的代碼庫,然后添加
<property name="app.codebase" value="$$codebase"/>
轉到資源部分。
如果您使用JNLP下載Servlet ,則可以將$$ codebase宏作為系統屬性傳遞到您的應用程序中,這將使您可以訪問代碼庫URL。
在我們的Webstart應用程序中,配置是使用SQL存儲到服務器的,但是對於您的需求而言可能有點繁重。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.