ここでは、Javaアプリケーションの起動方法について説明しています。ほとんどがWindowsについてのものです。
最初に、javawコマンドと-jarオプションについて説明しておきます。javawコマンドは、GUI環境でJavaを実行した時にコンソールウィンドウ(DOSプロンプトなど)を開かないようにします。-jarオプションは、指定したJARファイルのマニフェスト(MANIFEST.MF)に記述されているメインクラスを使って起動します。
マニフェストにメインクラスを記述
Manifest-Version: 1.0 Main-Class: net.argius.Sample
最も普通の方法ですが、バリエーションを広げるためにも、改めて説明します。
マニフェストにメインクラスを設定したJARファイルをコマンドラインから実行するには、次のように入力します。
> javaw -jar sample.jar
このコマンドは、他のところでも使うことができます。
この説明は、JavaというよりWindowsの機能についてです。
拡張子.jarをJava実行ファイル(javaw.exe)に関連付けすると、JARファイルをダブルクリックしてアプリケーションを起動させることができます。拡張子.jarの設定に「実行」という名前(意味が分かれば何でも良い)の「アクション」を追加し、アプリケーションに次の書式を設定します。
JARファイルを関連付けする書式
javaw.exe -jar "%1" javaw.exe は、フルパスで指定しても良い
具体的な操作方法については、キーワード「ファイルタイプ 関連付け」でインターネット検索してみてください。
これまでの方法は、設定を変えなければならなかったり、ファイルが複数必要になったりと、いくつかの手順が必要です。この些細な手順でも実施できない場合もあります。例えば、エンドユーザのPCが10,000台あって、それ全部に設定する必要があったら、どうしたら良いでしょうか。もちろん、エンドユーザの大半は、自分で関連付けができないと想定して、です。
そこで、JARファイルをEXEファイルに変換する方法があります。当然ですが、EXEにしてしまうと、WORAでなくなります。
Javaで書かれたプログラムは、通常クラスファイルとして存在しますが、クラスファイルではなく、ネイティブコードに変換してしまいます。ネイティブコードにすることで、高速化が望めることもあります。さらに、JRE(Java実行環境)が無くても動かすことができます。
ネイティブコード変換ができるアプリケーションには、JET(有償)や、GCJ(フリー)などがあります。
ただし、すべてのコードを完全に変換できるわけではないこと、導入に(時間も含めて)コストがかかること、などの問題があります。もちろん、それに見合う効果が得られるのであれば、問題ありません。
ネイティブコードに変換しなくても、EXEファイルにする方法があります。その方法とは、JARファイルを内蔵するEXEファイルを作ることです。そして、それを肩代わりしてくれるツールがあります。これを使えば、配布されたEXEファイルをそのままJavaアプリケーションとして起動できるようになります。ただし、JARファイルを代わりに起動してくれるだけなので、JRE(Java実行環境)は必要です。
exewrap (リンク先を開く)
同様のツールに、JSmooth、launch4jがありますが、ここで要求している機能としてはあまり違いはないので、このexewrapだけを紹介します。また、上記のサイト自体でそれぞれの違いを詳説していますので、比較はそちらに任せます。さらに、説明が日本語なので、英語の苦手な人には特に助かることでしょう。
いくつか特長をあげると、インストールや実行がとても簡単であること、作成したEXEファイルにはライセンス上の制限がないこと、などです。敢えて弱点を挙げるとすれば、新しすぎるところかもしれません(2005.05.29時点でまだ生後2ヶ月足らず)。
Javaアプリケーションは、実行方法が明快でないせいか、あまり広まっていないように思います。これらの方法を使い分ければ、Javaアプリケーションがさらに身近なものになるのではないでしょうか。活用していただければ幸いです。
最終更新日 : 2005.05.29
copyright 2000-2005
ARGIUS project