簡體   English   中英

如何包括Webstart應用程序的外部配置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM