建置在 Eclipse 的應用程式可以利用 Java Web Start 來部署。
Java Web Start 是種應用程式部署技術,可讓您從 Web 瀏覽器按一下, 即可啟動功能完整的應用程式。
從 Java Web Start 啟動 Eclipse 的必備條件如下:
root=<folderContainingStartup.jar>/
檔案 > 匯出 > 開發外掛程式 > 可部署的特性。
請在精靈中,選取封套特性,再選擇要匯出 JNLP 應用程式的「目錄」選項,並勾選「將特性和外掛程式套裝成個別的 JAR 保存檔」選項。
在精靈下一頁的「簽章 JAR 保存檔」區段中,填入金鑰儲存庫的相關資訊。
接著在「JNLP 區段」中,輸入負責處理應用程式的伺服器名稱,以及啟動應用程式所需的 JRE 層次。最後一個值會用來在產生的 JNLP 檔中,
填寫 <j2se version="1.4+" /> 的值。按一下「完成」。
site/ (JNLP 站台的根目錄)
startup.jar
features/
WrapperingFeature_1.0.0.jar
WrapperingFeature_1.0.0.jnlp
com.xyz.abc_1.0.0.jar
com.xyz.abc_1.0.0.jnlp
...
plugins/
org.eclipse.core.runtime_3.1.0.jar
com.foo.baz_1.0.0.jnlp
...
Java Web Start 應用程式是由 JNLP 檔來說明。它們以一些相等的機制來取代 eclipse.exe 和 config.ini 檔。 比方說,JNLP 有自己的機制來控制歡迎畫面、傳遞參數的方式,以及定義構成應用程式的項目。
當您執行匯出時,即會建立所有簡單的 JNLP 檔,因此您只需要撰寫控制應用程式的主要檔即可。由於主要檔的大部分對所有應用程式來說都是通用的, 因此建議您從以下自我記錄的範本開始。
在負責處理應用程式的站台上,該檔案必須位於與 startup.jar 相同的資料夾中。 一旦完成編輯這個檔案,應用程式就已備妥。
<?xml version="1.0" encoding="UTF-8"?>
<jnlp
spec="1.0+"
codebase="http://myCompany.org/jnlpServer"
href="mail.jnlp"> <!-- 含有 JNLP 應用程式之站台的 URL。它應該符合匯出時使用的值。Href,這個檔案的名稱 -->
<information>
<!-- 使用者可讀取的應用程式名稱 -->
<title> Mail Application </title>
<!-- 供應商名稱 -->
<vendor>My company</vendor>
<!-- 供應商首頁 -->
<homepage href="My company website" />
<!-- 產品說明 -->
<description>This is a mail client</description>
<icon kind="splash" href="splash.gif"/>
</information>
<!--要求應用程式的所有許可權。這不會改變-->
<security>
<all-permissions/>
</security>
<!-- 要執行的 main 類別的名稱。這不會改變-->
<application-desc main-class="org.eclipse.core.launcher.WebStartMain">
<argument>-nosplash</argument>
</application-desc>
<resources>
<!-- 參照 startup.jar。這不會改變 -->
<jar href="startup.jar"/>
<!-- 參照組成應用程式的所有外掛程式和特性 -->
<!-- 我們在這裡參照封套特性,因為它又會遞移參照所有其他必要的外掛程式 -->
<extension
name="Wrapper feature"
href="features/Wrappering_1.0.0.jnlp"/>
<!-- 通常指定在 config.ini 中的資訊 -->
<property
name="osgi.instance.area"
value="@user.home/Application Data/mail"/>
<property
name="osgi.configuration.area"
value="@user.home/Application Data/mail"/>
<!-- 要執行的產品 ID,如同顯示在產品編輯器之「概觀」頁面中的一樣 -->
<property
name="eclipse.product"
value="mail.product"/>
</resources>
<!-- 指出 JRE 使用的平台基礎 -->
<resources os="Mac">
<j2se version="1.5+" java-vm-args="-XstartOnFirstThread"/>
</resources>
<resources os="Windows">
<j2se version="1.4+"/>
</resources>
<resources os="Linux">
<j2se version="1.4+"/>
</resources>
</jnlp>
提示:建立好這個檔案之後,您可以將它儲存在 startup.jar 相同資料夾的封套特性中,以便在每次匯出時,都能取得完整結構。
即使 RCP 應用程式不使用特性,也可以使用 Java Web Start。
如果要這麼做,建議您建立一個封套特性,以便協助建立主要 JNLP 檔,簡化部署工作。 這個封套特性會列出應用程式的所有外掛程式。 更新好特性之後,請複製所產生的 JNLP 檔並加以修改,使其成為您的主要 JNLP 檔。
當利用 Linux 的 Web Start 來啟動 Eclipse 應用程式時,預設視窗系統是 Motif。 如果您要執行 GTK,您必須在主要 JNLP 檔中,將 osgi.ws 內容設為 "gtk"。 例如,您可以新增:
<resources os="Linux"/>
<property name="osgi.ws" value="gtk"/>
</resources>