Eclipse 上でビルドされたアプリケーションは、Java Web Start を使用してデプロイすることができます。
Java Web Start は、「アプリケーション・デプロイメント・テクノロジーで、Web ブラウザーからシングルクリックで完全な機能を持ったアプリケーションを起動することができます。」
Eclipse を Java Web Start から開始するための前提条件は、以下のとおりです。
root=<folderContainingStartup.jar>/
「ファイル」>「エクスポート」>「プラグイン開発」>「デプロイ可能なフィーチャー」とクリックする。ウィザードで、ラッパー・フィーチャーを選択して、JNLP アプリケーションのエクスポート先の「ディレクトリー」オプションを選択し、「個々の JAR アーカイブとしてフィーチャーおよびプラグインをパッケージ」オプションにチェック・マークを付けます。ウィザードの次ページの「JAR アーカイブに署名中」セクションで、鍵ストアに関連する情報を入力します。次に、「JNLP セクション (JNLP section)」で、アプリケーションを処理するサーバー名、およびアプリケーションの開始に必要な 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>
<!-- 実行するメイン・クラスの名前。これは
変更されません。-->
<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 ファイルになるように修正してください。
Eclipse アプリケーションが Linux 上の Web Start を使用して開始された場合、デフォルトのウィンドウ操作システムは Motif になります。 GTK を実行する場合は、メインの jnlp ファイルでプロパティー osgi.ws を "gtk" に設定する必要があります。例えば、以下を追加できます。
<resources os="Linux"/>
<property name="osgi.ws" value="gtk"/>
</resources>