Java Web Startは、HTTPプロトコルやWebサーバーといった既存のインターネット・テクノロジを利用します。このため、Java Web Startを使ってJavaテクノロジベースのアプリケーションを配備する際に、HTMLベースのコンテンツを配備する既存インフラストラクチャを再利用できます。
アプリケーションをクライアント・マシンに配備できるようにするには、アプリケーションを構成するすべてのファイルにWebサーバーからアクセスできる必要があります。これは通常、1つまたは複数のJARファイルと1つのJNLPファイルを、Webサーバーのディレクトリ内にコピーすることを意味します。Webサイト上でJava Web Startをサポートするために必要となる設定は、HTMLベースのコンテンツを配備する際の設定と非常によく似ています。ただ1つ注意が必要なのは、新しいMIMEタイプをWebサーバーに設定する必要がある点です。
1. Java Web StartのMIMEタイプを使用できるようにWebサーバーを設定する
Webサーバーを設定して、拡張子.jnlpを持つすべてのファイルがapplication/x-java-jnlp-file MIMEタイプとして設定されるようにします。
大部分のWebブラウザは、Webサーバーからコンテンツとともに送られてくるMIMEタイプに基づいて、各コンテンツの処理方法を判断します。サーバーがJNLPファイルに対してapplication/x-java-jnlp-file MIMEタイプを返さなかった場合、Java Web Startは起動されません。
MIMEタイプを追加する方法は、Webサーバーごとに異なります。たとえば、Apache Webサーバーの場合、.mime.types設定ファイルに次の行を追加する必要があります。
application/x-java-jnlp-file JNLP
使用しているWebサーバーの詳細については、付属のマニュアルを参照してください。
2. アプリケーションに対するJNLPファイルを作成する
このファイルを作成するもっとも簡単な方法は、既存のJNLPファイルを必要に応じて変更することです。
JNLPファイルの構文と形式については、あとのセクションで説明します。
3. Webサーバー上でアプリケーションをアクセスできるようにする
JNLPファイル内に記載されたURLを使って、アプリケーションのJARファイルとJNLPファイルにアクセスできることを確認してください。
4. アプリケーション起動用Webページを作成する
手順4の詳細については、次の章「アプリケーション起動用Webページの作成」を参照してください。
Java Web Startには、カスタムURIスキームjnlp:
およびjnlps:
を処理するためのプロトコル・ハンドラが含まれています。Java Web Startアプリケーションを起動する直接的な方法として、これらのスキームを使用します。
プロトコル・ハンドラはWindowsおよびmacOSシステムに自動的にインストールされます。Linuxシステムには手動でインストールする必要があります。
Linux上でChromeブラウザを使用している場合、jnlp
またはjnlps
プロトコルを使用してJava Web Startアプリケーションを起動できるようにするプロトコル・ハンドラを手動でインストールします。
Linuxでは、xdg-open
コマンドを使用して、ユーザーの優先アプリケーションのファイルまたはURLを開きます。プロトコル・ハンドラをインストールするには、jnlp
またはjnlps
プロトコルを含むURLに対してJava Web Startを使用するようにxdg-open
を構成します。
テキスト・エディタを使用して、~/.local/share/applications
ディレクトリにjavaws.desktop
というファイルを作成します。
次の例に示すように文を含めます。
[Desktop Entry] Encoding=UTF-8 Name=Java(TM) Web Launcher Exec=jre-home/bin/javaws %U Terminal=false Type=Application MimeType=x-scheme-handler/jnlp;x-scheme-handler/jnlps
ファイルを保存します。
次のコマンドを実行します。
xdg-mime default javaws.desktop x-scheme-handler/jnlp xdg-mime default javaws.desktop x-scheme-handler/jnlps
プロトコル・ハンドラをインストールした後は、URLにjnlp
またはjnlps
プロトコルが含まれる場合に、Java Web Startを使用してアプリケーションが起動されます。たとえば、次のURLは、JavaチュートリアルからDynamic Treeサンプルを起動します。
jnlps://docs.oracle.com/javase/tutorialJWS/samples/deployment/dynamictree_webstartJWSProject/dynamictree_webstart.jnlp
Linux上でFirefoxブラウザを使用している場合、jnlp
またはjnlps
プロトコルを使用してJava Web Startアプリケーションを起動できるようにするプロトコル・ハンドラを手動でインストールします。
プロトコル・ハンドラをインストールするには、Firefox構成にプロパティを追加します。
Firefoxのアドレス・バーにabout:config
と入力します。
保証を無効にすることについての警告のページが表示された場合、「I'll be careful, I promise!」をクリックして構成ページへと続行します。
Booleanプロパティを追加します。
network.protocol-handler.expose.jnlp
を入力して「OK」をクリックします。プロパティが構成に追加されます。
network.protocol-handler.expose.jnlps
を追加します。jnlp
またはjnlps
プロトコルを使用するURLを入力するか、リンクをクリックすると、ファイルを開くために使用するアプリケーションを選択するよう求められます。「Java Web Start Launcher」を選択するか、jre-home/bin
のjavaws.exe
ファイルを参照します。