Java Web Start
ちょっと前に英語が苦手な(出来ない)私が相手の要求に上手く応えることができなかった。
今でもその人が何を望んでいるのかちょっとよく解らない。
たぶん Java Web Start のことかな?って思うので今回のエントリーはそれを取り上げてみることにした。
今回は外部ライブラリを使う JavaFX アプリケーションをサンプルにします。
既にサンプルアプリとして公開されているものを使わさせていただきます。
JavaFX の外部ライブラリとして凄く良くできている ControlsFX です!
このファイルをダウンロードして解凍した中の
ライブラリ本体 controlsfx-8.0.2-developer-preview-1.jar
サンプルアプリ controlsfx-8.0.2-developer-preview-1-samples.jar
を使います。
現時点ではこれら二つの jar ファイルは署名されてないので心苦しいのですが勝手に署名を入れさせていただきます。
今回は Java Web Start の作り方なので署名ファイルは簡易的なオレオレ署名を作ります。
コマンドプロンプトを起動して下記コマンドを打ち込み署名ファイルを作成します。
keytool -genkey –alias javafx -keystore keystore –storepass password –keypass password_2 -validity 3650
できあがった keystore.key ファイルは jar ファイルに署名するのに必要なのでエイリアス名とパスワードは忘れないようにしてください。
署名をする前にマニフェストファイルを更新します。
controlsfx-8.0.2-developer-preview-1-samples.jar のマニフェストファイルを下記のように更新します。
Manifest-Version: 1.0
Main-Class: org.controlsfx.HelloControlsFX
Class-Path: controlsfx-8.0.2-developer-preview-1.jar
上記のような MANIFEST.MF ファイルを作って controlsfx-8.0.2-developer-preview-1-samples.jar を更新するのが一番楽かな。
jar uvmf MANIFEST.MF controlsfx-8.0.2-developer-preview-1-samples.jar
controlsfx-8.0.2-developer-preview-1-samples.jar のマニフェストファイルの更新が終わったら先ほど作った keystore ファイルを使用して
controlsfx-8.0.2-developer-preview-1-samples.jar と controlsfx-8.0.2-developer-preview-1.jar に署名を入れます。
jarsigner -keystore keystore controlsfx-8.0.2-developer-preview-1-samples.jar javafx
パスワードの入力を求められますのでパスワードを入力します。
同様に controlsfx-8.0.2-developer-preview-1.jar にも署名を入れます。
jarsigner -keystore keystore controlsfx-8.0.2-developer-preview-1.jar javafx
こちらも当然パスワードを要求されますので入力します。
これで jar ファイルへの署名は完了です。
次は JNLP ファイルを作成します。
controlsfx-8.0.2-developer-preview-1-samples.jnlp
<?xml version=”1.0″ encoding=”utf-8″?>
<jnlp codebase=”http://yucchi.jp/java/java_web_start/HOGE/” spec=”1.0″ xmlns:jfx=”http://javafx.com” href=”controlsfx-8.0.2-developer-preview-1-samples.jnlp”>
<information>
<title>HelloControlsFX</title>
<vendor>Hoge</vendor>
<description>null</description>
<offline-allowed/>
</information>
<resources>
<jfx:javafx-runtime version=”2.2+” href=”http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp”/>
</resources>
<resources>
<j2se version=”1.6+” href=”http://java.sun.com/products/autodl/j2se”/>
<jar href=”controlsfx-8.0.2-developer-preview-1-samples.jar” size=”200919″ download=”eager” />
<jar href=”controlsfx-8.0.2-developer-preview-1.jar” size=”455114″ download=”eager” />
</resources>
<security>
<all-permissions/>
</security>
<applet-desc width=”800″ height=”600″ main-class=”com.javafx.main.NoJavaFXFallback” name=”HelloControlsFX” >
<param name=”requiredFXVersion” value=”8.0+”/>
</applet-desc>
<jfx:javafx-desc width=”800″ height=”600″ main-class=”org.controlsfx.HelloControlsFX” name=”HelloControlsFX” />
<update check=”always”/>
</jnlp>
上記の JNLP ファイルの codebase=”http://yucchi.jp/java/java_web_start/HOGE/” に
controlsfx-8.0.2-developer-preview-1-samples.jar
controlsfx-8.0.2-developer-preview-1.jar
controlsfx-8.0.2-developer-preview-1-samples.jnlp
を配備して下記のようにリンクをはればできあがりです。
<a href=”http://yucchi.jp/java/java_web_start/HOGE/controlsfx-8.0.2-developer-preview-1-samples.jnlp”>
ただし、あなたのサーバーが JNLP ファイルをサポートしている必要があります。
mine.types に
application/x-java-jnlp-file jnlp
と無ければ追加してください。
Webstart: click to launch this app as webstart (Java 8 実行環境必須)
TAGS: Java | 2013年8月24日7:53 PM
Trackback URL