GO BACK

Java教室 番外その3


「Excutable Java Archive」



■Javaアプリケーションをダブルクリックで実行する!


 Javaで作ったプログラムを配付する際、どういう形にするのがいいか、悩んでいる人は多いと思います。特に、アプリケーションが問題です。アプレットならばブラウザで見てもらえばいいですが、アプリケーションはそうはいきません。また、Java2からSwingが使えるようになりましたが、これは現時点では標準でサポートしているWebブラウザはなく、java Plug-inなどを別途インストールしてもらわないといけません。そうすると、いろいろ面倒があるアプレットよりアプリケーションで配付できればそのほうが便利に思えます。

 WindowsでJava2以降を使う場合、実は大変便利な機能が用意されています。それは「Excutable Java Archive File」というものです。「Excutable File」というのは何のことかわかりますね? 皆さんお馴染みの「EXEファイル」のことです。ということは、これは「EXEのように、ダブルクリックで起動できるJavaのアーカイブファイル」ということなのですね。

 Javaでは「JAR」というアーカイブファイルがサポートされています。これはJavaBeansのところで登場しましたが、ここで改めて触れておくと、Javaの標準アーカイブ(Java Archive)のことです。拡張子が「jar」なので、一般に「JARファイル」などと呼ばれたりします。

  Excutable Java Archive Fileは、このJARで単一アーカイブファイルにまとめたものです。が! ただ単にJARにしただけでは、ダブルクリックで起動できるようにはなりません。ちょっとした仕掛けが必要となります。それには、「マニフェストファイル」を使います。

 では、Excutable Java Archive Fileの作り方を説明しましょう。

 

1.マニフェストファイルを作ります。エディタを起動して、以下のような1行のテキストを記述します。

Main-Class: ○○

○○にはアプリケーションクラス(Mainメソッドを持ったもの)の名前が入ります。例えば「TestApp.class」ならば「Main-Class: TestApp」となります。拡張子のclassはつけません。また、最後に必ず改行をしておいてください。

2.マニフェストファイルを保存します。記述したら、アプリケーションクラスと同じ場所に「Manifest.mf」というファイル名で保存して下さい。実は、ファイル名は別に他のものでもかまわないのですが、一般にManifest.mfという名前にします。

3.JARファイルを作ります。JARはMS-DOSプロンプトから実行します。cdコマンドでクラスのある階層に移動し、JARを実行します。このコマンドはパラメータが非常に多いのですが、とりあえずExcutable Java Archive Fileを作るのに必要な書き方だけ覚えておいて下さい。

jar cvfm 《JARファイル名》 《マニフェストファイル名》 《組み込むファイル名》

《JARファイル名》:JARファイルの名前。「○○.jar」というようにjar拡張子を指定すること
《マニフェストファイル名》:先ほど作った「Manifest.mf」を指定
《組み込むファイル名》 :そこにある全てのクラスを組み込むなら「*.class」、全てのファイルなら「*.*」とする

 例えば、そこにある全クラスファイルをまとめて「TestApp.jar」というJARファイルを作るならば、「jar cvfm TestApp.jar Manifest.mf *.class」と実行します。こうすると、作業とファイルの圧縮組み込み過程がMS-DOSプロンプト上に出力され、JARファイルが作成されます。

 これで作業は終わりです。できあがったJARファイルをダブルクリックしてみて下さい。そのまましばらく待っていると、Javaのアプリケーションが起動します。MS-DOSプロンプトを開いてわざわざ「java ○○」なんて打ち込む必要もなし。まあ、ちょっと起動に時間がかかりますが、それ以外はほとんど普通のWindowsのアプリケーションと同じ感覚で使えることがわかるでしょう。

 Java2で、一度このExcutable Java Archive Fileを使うと、Javaに対する認識が変わります。Java2は、Visual BasicやDelphiなどと同様、Windowsの一般的なプログラム作成に十分使えることがわかります。もちろん、速度がちょっと遅いとか、Javaがインストールしてないと動かないなどの問題はありますが、自分で作ったJavaアプリケーションがダブルクリックで動くのはとても感動しますよ! 是非、一度挑戦してみましょう!



GO NEXT


GO HOME