アプリケーションは、標準のWebサーバーからデプロイできます。 Java Web Startは、HTTPプロトコルやWebサーバーといった既存のインターネット・テクノロジを利用します。このため、Java Web Startを使用してJavaテクノロジベースのアプリケーションをデプロイする際に、HTMLベースのコンテンツをデプロイする既存インフラストラクチャを再利用できます。
アプリケーションをクライアント・マシンにデプロイするために、アプリケーションを構成するすべてのファイルにWebサーバーからアクセスできることを確認します。 これは通常、1つ以上のJARファイルとJNLPファイルをWebサーバーのディレクトリにコピーする必要があります。 WebサイトでのJava Web Startのサポートの有効化は、HTMLベースのコンテンツのデプロイと似ています。 また、Java Web Startを使用するには、application/x-java-jnlp-file
MIMEタイプをサポートするようにWebサーバーを構成する必要があります。
ステップ1: Java Web Start MIMEタイプを使用するようにWebサーバーを構成します。
多くのWebサーバーには、デフォルトで構成されたJava Web Start MIMEタイプが付属しています。 webサーバーでない場合は、.jnlp
ファイル拡張子を持つすべてのファイルがapplication/x-java-jnlp-file
MIMEタイプに設定されるように構成します。
ほとんどのWebブラウザは、Webサーバーからのコンテンツとともに返されるMIMEタイプを使用して、特定のコンテンツの処理方法を決定します。 Java Web Startを起動するには、サーバーがJNLPファイルのapplication/x-java-jnlp-file
MIMEタイプを返す必要があります。
MIMEタイプを追加する方法は、Webサーバーごとに異なります。 たとえば、Apache webサーバーの場合、次の行を.mime.types
構成ファイルに追加します:
application/x-java-jnlp-file JNLP
使用しているWebサーバーの詳細については、付属のマニュアルを参照してください。
ステップ2: アプリケーションのJNLPファイルを作成します。
このファイルを作成する最も簡単な方法は、既存のJNLPファイルを必要に応じて変更することです。 次の例に、単純なJNLPファイルを示します:
<?xml version="1.0" encoding="utf-8"?> <jnlp spec="8.0+" codebase="http://example.com/demos/helloworld" href="HelloWorld.jnlp"> <information> <title>HelloWorld</title> <description>HelloWorld demo application</description> </information> <resources> <j2se version="1.8+"/> <jar href="HelloWorld.jar" size="47013" download="eager" /> </resources> <application-desc main-class="HelloWorld"/> </jnlp>
JNLPファイルの構文と形式については、「JNLPファイルの構文」を参照してください。
ステップ3: webサーバーでアプリケーションにアクセスできるようにします。
JNLPファイル内に記載されたURLで、アプリケーションのJARファイルとJNLPファイルにアクセスできることを確認してください。
ステップ4: アプリケーションを起動するwebページを作成します。
Webページを作成し、Java Web Startアプリケーションを起動するための次のオプションのいずれかを含めます:
次の例に示すように、JNLPファイルへのリンクを使用します:
<a href="/some/path/HelloWorld.jnlp">Launch HelloWorld demo</a> <a href="https://docs.oracle.com/javase/tutorialJWS/samples/deployment/dynamictree_webstartJWSProject/dynamictree_webstart.jnlp">Launch DynamicTree demo</a> <a href="http://docs.oracle.com/javase/tutorialJWS/samples/deployment/dynamictree_webstartJWSProject/dynamictree_webstart.jnlp">Launch DynamicTree demo</a>
次の例に示すように、JavaScriptを使用します:
<script src="https://www.java.com/js/deployJava.js"></script> <script> var url = "https://docs.oracle.com/javase/tutorialJWS/samples/deployment/dynamictree_webstartJWSProject/dynamictree_webstart.jnlp"; deployJava.createWebStartLaunchButton(url, '1.6.0'); </script>
次の例に示すように、jnlp:
スキーマとのリンクを使用します:
<a href="jnlp:https://docs.oracle.com/javase/tutorialJWS/samples/deployment/dynamictree_webstartJWSProject/dynamictree_webstart.jnlp">Launch DynamicTree demo</a>
Java Packagerツールで生成されたHTMLファイルからJavaScriptコードをコピーします。 「Java Platform, Standard Editionデプロイメント・ガイド」の「Javaパッケージャ・ツール」を参照してください。
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
ファイルを参照します。