Java Web Start を使用した Eclipse ベースのアプリケーションのデプロイ

Eclipse 上でビルドされたアプリケーションは、Java Web Start を使用してデプロイすることができます。

Java Web Start は、「アプリケーション・デプロイメント・テクノロジーで、Web ブラウザーからシングルクリックで完全な機能を持ったアプリケーションを起動することができます。」

Eclipse を Java Web Start から開始するための前提条件は、以下のとおりです。

以下のステップでは、フィーチャー・ベースの RCP アプリケーションを処理する Java Web Start サイトのセットアップ方法について説明します。

ステップ 1、ラッパー・フィーチャーの作成

ステップ 2、ラッパー・フィーチャーと startup.jar のエクスポート

注: このステップに進む前に、鍵ストアが使用可能であることを確認してください。 Eclipse には、鍵ストアを作成する機能はありません。 JDK に付属している keytool アプリケーションを使用することができます。また、開発に使用している Eclipse が、JRE ではなく、Java SDK 上で実行中であることを確認してください。この制約が満たされていないと、jar 署名が失敗します。

ステップ 3、メイン JNLP ファイルの作成

Java Web Start アプリケーションは、JNLP ファイルによって記述されます。これらのファイルは、同等の機構によって eclipse.execonfig.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 ファイルになるように修正してください。

その他

Linux 上の Java Web Start

Eclipse アプリケーションが Linux 上の Web Start を使用して開始された場合、デフォルトのウィンドウ操作システムは Motif になります。 GTK を実行する場合は、メインの jnlp ファイルでプロパティー osgi.ws を "gtk" に設定する必要があります。例えば、以下を追加できます。

  <resources os="Linux"/>
        <property name="osgi.ws" value="gtk"/>
  </resources>

既知の制限