Java Web Start(Jnlp)チュートリアル
ここでは、SUNからのJava Web Startについて簡単に説明します。
「Java Web Startは、標準のWebサーバーを介したプログラム配信のメカニズムです。 通常、ブラウザを介して開始されるこれらのプログラムは、クライアントに展開され、ブラウザの範囲外で実行されます。 一度展開すれば、プログラムを再度ダウンロードする必要はなく、ユーザーはインストールプロセス全体を再度実行する必要なく、起動時に自動的に更新をダウンロードできます。」
このチュートリアルは、ユーザーがダウンロードするJava Web Start(Jnlp)ファイルを作成する方法を示しています。ユーザーがダウンロードしたjnlpファイルをクリックすると、単純なAWTプログラムが起動します。 手順の概要は次のとおりです。
-
単純なAWTプログラムを作成し、TestJnlp.jarとしてjarします
-
TestJnlp.jarにキーストアを追加します
-
Jnlpファイルを作成する
-
すべてをTomcatフォルダーに入れる
-
http://localhost:8080/Test.Jnlpを介してWebからTestJnlp.jarにアクセスします
じゃあ始めよう
1. JDkとTomcatをインストールする
1.5以上のJava JDK / JREバージョンとTomcatをインストールします。
3. AWT + Jnlp
TestJnlp.java
の内容を参照してください。これは、AWTがサポートされている単純なAWTプログラムです。
package com.example; import java.awt.*; import javax.swing.*; import java.net.*; import javax.jnlp.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class TestJnlp { static BasicService basicService = null; public static void main(String args[]) { JFrame frame = new JFrame("Mkyong Jnlp UnOfficial Guide"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel(); Container content = frame.getContentPane(); content.add(label, BorderLayout.CENTER); String message = "Jnln Hello Word"; label.setText(message); try { basicService = (BasicService) ServiceManager.lookup("javax.jnlp.BasicService"); } catch (UnavailableServiceException e) { System.err.println("Lookup failed: " + e); } JButton button = new JButton("/"); ActionListener listener = new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { try { URL url = new URL(actionEvent.getActionCommand()); basicService.showDocument(url); } catch (MalformedURLException ignored) { } } }; button.addActionListener(listener); content.add(button, BorderLayout.SOUTH); frame.pack(); frame.show(); } }
P.S If “import javax.jnlp.;” is not found, please include jnlp library which located at *JRE/lib/javaws.jar.
4. ジャーイット
Javaのクラスフォルダーを見つけ、コマンドプロンプトで次のコマンドを使用してJarします
jar -cf TestJnlp.jar *.*
これにより、すべてのJavaのクラスが「TestJnlp.jar」という名前の新しいjarファイルにパックされます。
5. キーストアを作成する
「testkeys」という名前の新しいキーストアを追加します
keytool -genkey -keystore testKeys -alias jdc
キーストアのパスワード、名、姓、組織の単位などを求められます。すべてを入力してください。
6. キーストアをJarファイルに割り当てる
新しくキーストア「testkeys」を「TestJnlp.jar」ファイルに添付しました
jarsigner -keystore testKeys TestJnlp.jar jdc
新しく作成したキーストアのパスワードを要求します
7. JARを展開する
「TestJnlp.jar」をTomcatのデフォルトのWebサーバーフォルダ(たとえば、Windows –C:\Program Files\Apache\Tomcat 6.0\webapps\ROOT)にコピーします。
8. JNLPファイルを作成する
このような新しいTest.jnlpファイルを作成します
Jnlp Testing YONG MOOK KIM Testing Testing
9. JNLPファイルを展開する
Test.jnlpをTomcatのデフォルトのWebサーバーフォルダにもコピーします。
C:\Program Files\Apache\Tomcat 6.0\webapps\ROOT
11. 試して
URLhttp://localhost:8080/Test.jnlpにアクセスすると、Test.jnlpファイルをダウンロードするように求められます。それを受け入れてダブルクリックするだけです。
すべてがうまくいった場合、次の出力が表示されます。
「実行」ボタンをクリックして、AWTプログラムを起動します。
Note
jnlpが応答しない場合は、Tomcatconfフォルダーにあるweb.xmlに次のコードを配置します。
jnlp application/x-java-jnlp-file