JARとは一体何か
.jarと付いているファイルをダウンロードしたり見たりしたことはありますでしょうか。きっと何気なくネットサーフィンやPCでゲームをしているとダウンロードすることを要求されたりします。いつも何気なく使用しているZipファイルと何が違うのかこの記事で紹介していこうと思います。
JARの紹介
JARは「Java Archive」の略で、Javaプログラムの配布形式のひとつです。Javaプログラムとは何か分からない方向けにもあとで紹介していきます。classファイルやリソースファイルなどが、ZIP形式でひとつのファイルにまとめられています。
Javaの開発では、有志が公開・メンテナンスしている様々なオープンソースライブラリを利用する場面が多くあります。それらライブラリはJARファイルで提供されていることがほとんどです。Javaで書かれていないネイティブなプログラムやライブラリもアーカイブにまとめられて配布されることが多いですが、それらは展開してインストールする必要があります。これに対して、実行時環境などのJavaのツールはJARを直接扱えるため、ユーザが明示的にJARを解凍する必要はないというメリットがあります。類似するアーカイバとしてJSP/Servletなどのウェブアプリケーションを一つのアーカイブにまとめるWAR (Web Application Archive)、EJB (Enterprise JavaBeans) アプリケーションを一つのアーカイブにまとめるEAR (Enterprise Archive) などがあります。
JARを含むこれらのアーカイブの実態はZIPそのものであり、ZIPを扱えるツールで同じように扱うことができる。ただし、JAR、WAR、 EARにはMETA-INF/ディレクトリ内にマニフェストと呼ばれるメタ情報が格納されています。このメタ情報はJARを扱うJavaのツールが解釈します。
Javaとはそもそもなにか
Javaは、クラスベースのオブジェクト指向の、実装の依存関係をできるだけ少なくするように設計された汎用プログラミング言語です。これは、アプリケーション開発者が一度書いたらどこでも実行できるようにすることを目的としているためです。Javaは家電やモバイル機器を始めとして、多くのデバイスに搭載されています。国内でもスマートフォンなどに搭載されていて、アプリ開発を行うにはJava言語を使って開発することになります。
Java歴史
Javaは元々、サン・マイクロシステムズ(その後Oracleに買収された)のジェームズ・ゴスリンによって開発され、Sun MicrosystemsのJavaプラットフォームのコアコンポーネントとして1995年にリリースされました。オリジナルのJavaコンパイラやリファレンス実装のJavaコンパイラ、仮想マシン、クラスライブラリは、もともとSunが独占的なライセンスでリリースしています。2007年5月の時点では、Java Community Processの仕様に準拠して、SunはそのJava技術のほとんどをGNU General Public Licenseの下で再ライセンスしています。一方で、GNU Compiler for Java (バイトコードコンパイラ)、GNU Classpath (標準ライブラリ)、IcedTea-Web (アプレット用ブラウザプラグイン)など、Sunの技術の代替実装が開発されています。
jarファイルを実行する方法
Windows でも -jar オプションで実行できますが、通常 *.jar をダブルクリックすることで実行できます。
コマンドラインから実行する場合は、次のように start を用いることでコマンドプロンプトで終了待ちしなくて済みます。このように非常に簡単に使用できます。ただお持ちのPC次第ではダブルクリックで起動できないときがあります。そのような場合の原因は様々なので
などがあげられます。まずJavaがインストールされていない可能性があります。 コマンドプロンプト(Windows)またはターミナル(macOS)で 「java -version」と打ち、インストールされているか確認して見ましょう。ほかにはJavaのバージョンを変えてみたりなどできます。コマンドプロントを使用するのになれている方はコマンドプロンプトから,jarファイルを実行することもできます。
[スタート]→[アクセサリ]→[コマンドプロンプト] でコマンドプロンプトを立ち上げる。
cdコマンドで実行したいjarファイルと同じディレクトリに移動する。
【c:\javaにjarファイルがある場合】
c:\??? >cd c:\java と >i以降の文字を打ち込む。
c:\java > dir で実行したいjarファイルがあるか確認する。
javaコマンドでjarファイルのプログラムを起動する。
c:\java > java -jar ????.jar
[????.jar]は,起動したいjarファイル名にしてください。
これらの方法で起動できるのですがCUIの動作になれていることでないと難しいかもしれません。なのでまずはそもそもJavaがインストールされているか調べることにしましょう。