人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

自己実行型JARファイル

自己実行型JARファイルを作るとダブルクリックでJavaアプリケーションが実行できます。

自己実行型JARファイル

Javaアプリケーションは、javaコマンドにクラスファイル(.class)を渡すことで起動できます。

  javac HelloWorld.java  // プログラムのコンパイル
  java HelloWorld        // プログラムの実行

しかし、ユーザにクラスファイルをダウンロードしてもらい、javaコマンドで起動させるのは明らかに面倒です。コマンドプロンプトを使えないユーザはプログラムの実行ができなくなってしまいます。

Windowsアプリケーションのように実行型ファイル(.exe)をダブルクリックするだけで起動する仕組みがほしいところです。Javaにもexeと同じような方法でプログラムを起動する方法が用意されています。それが自己実行型JARファイル(拡張子は.jar)です。

自己実行型JARファイルを作るにはマニフェストファイルが必要となります。ここでは、MANIFEST.MFとします。MANIFEST.MFの中で main()を持つクラスを指定します。ここでは、HelloWorldクラスがmain()を持っているのでHelloWorldを指定しています。

  Manifest-Version: 1.0
  Main-Class: HelloWorld

自己実行型JARファイルを作るにはjarコマンドを使います。

  jar cvfm JARファイル名 マニフェストファイル名 ファイル・・・

今回のプログラムではソースファイル(.java)、クラスファイル(.class)、マニフェストファイルを含んだJARファイルを作りました。

  jar cvfm HelloWorld.jar MANIFEST.MF *.java *.class

ゲーム作成で画像や音楽のファイルを使った場合は、それらのファイルもJARファイルに含めます。もし、ソースファイルを公開したくない場合はいれなくてもかまいません。

JARファイルをダブルクリックで実行できることを確認してください。JARファイルはZIPと同じ形式で圧縮されているため、ZIPを解凍できるソフトウェア(Lhacaなど)を使えば解凍できます。解凍してみましょう。中にソースファイル、クラスファイル、マニフェストファイルが入っているのが確認できます。