Java Web Start

Java

ちょっと前に英語が苦手な(出来ない)私が相手の要求に上手く応えることができなかった。

今でもその人が何を望んでいるのかちょっとよく解らない。

たぶん Java Web Start のことかな?って思うので今回のエントリーはそれを取り上げてみることにした。

今回は外部ライブラリを使う JavaFX アプリケーションをサンプルにします。

既にサンプルアプリとして公開されているものを使わさせていただきます。

JavaFX の外部ライブラリとして凄く良くできている ControlsFX です!

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 実行環境必須)

Hatena タグ:


« »

Leave a Reply

* が付いている項目は、必須項目です!

次の HTML タグと属性を利用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

*

Trackback URL