Eclipseで書いたJavaプログラムを、1つのファイルにまとめて配布・実行できるようにしたい――そんなときに使うのがJARファイルです。
この記事を読めば、JARファイルの作り方(2通り)→ コマンドでの実行 → うまく動かないときのエラー対処までを、一通りこなせるようになります。外部ライブラリを使うプロジェクト向けの「Runnable JAR」にも触れるので、実務でつまずきがちなポイントもカバーできます。
以下はJavaがOSに左右されずにどの環境下でも動く仕組みについて解説しています。
キャリアでお悩みの方はこちら
JARファイルとは?なぜJARにまとめるのか
Javaのプログラムは、ビルドすると .class という小さなファイルに分かれて出力されます。クラスが増えれば .class も増えていきます。これを毎回フォルダごと持ち歩いて実行するのは大変です
そこで使うのがJARファイルです。バラバラの .class や画像などのリソースを1つにまとめて圧縮した「Java用の箱」のようなもので、これ1つを配れば相手はそのまま実行できます。
JAR(Java ARchive):複数の .class やリソースを1つにまとめて圧縮したファイル。中身はzipと同じ形式です。
マニフェスト(MANIFEST.MF):JARの中に入る「説明書」。どのクラスから実行するか(Main-Class)などを記録します。
エントリーポイント:プログラムが動き出す入口。Javaでは main メソッドを持つクラスがこれにあたります。
ポイントは、「ただのJAR」と「実行できるJAR」は別物だということです。実行できるJARにするには、マニフェストに「どのクラスのmainから始めるか」を書いておく必要があります。次の図でイメージをつかみましょう。
【全体像】JAR作成から実行までの流れ

事前準備:実行用の簡単なプログラムを用意する
Eclipseで簡単なプログラムを作成し、それをJARファイルにしていきます。
階層構造は画像の通りです。

JARにする題材として、現在の日付を表示するだけの簡単なプログラムを用意します。パッケージ test の中に Hello クラスを作り、次のコードを記述します。
package test;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Hello {
public static void main(String[] args) {
Date dt = new Date();
SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd");
String nowDate = ft.format(dt);
System.out.print("本日の日付は" + nowDate);
}
}JARにする前に、必ず一度Eclipse内で実行して、エラーなく動くことを確認しておきましょう。コンパイルエラーが残ったままだとJARの作成に失敗します。実行して「本日の日付は……」と表示されればOKです。

方法A:通常のJARファイルとして書き出す(外部ライブラリなしの場合)
外部ライブラリを使っていない、今回のようなシンプルなプロジェクトはこの方法でJARにできます。手順は次のとおりです。
- 対象のプロジェクトを右クリックし、「エクスポート」を選択します。
- エクスポート画面で 「Java」→「JARファイル」 を選び、「次へ」を押します。
- 出力先(例:デスクトップ)とJARファイル名を指定し、「次へ」を押します。
- オプション画面はそのまま「次へ」で進みます。
- マニフェスト設定の画面で、メイン・クラスにエントリーポイントを指定します。ここでは
testパッケージのHelloクラス(=パッケージ名.クラス名)を選び、「完了」を押します。
手順1

手順2

手順3

手順4

手順5

この「メイン・クラスの指定」が、実行できるJARにするための最重要ステップです。ここを飛ばすと、できあがったJARを実行しようとしたときに「main manifest attributeがない」というエラーになります(対処は後述)。
指定した場所に Hello.jar が作成されていれば成功です。

方法B:Runnable JARとして書き出す(外部ライブラリを使う場合)
プロジェクトが外部ライブラリ(例:何かのフレームワークやユーティリティ)に依存している場合、方法Aで作ったJARは実行時に「クラスが見つからない」エラーになることがあります。依存ライブラリがJARに含まれないためです。そのときは「Runnable JARファイル」として書き出します。
Runnable JAR(実行可能JAR):マニフェストにメインクラスが設定済みで、さらに依存ライブラリも一緒に同梱できる形式のJAR。これ1つで動く配布物を作れます。
- メニューの 「ファイル」→「エクスポート」→「Java」→「実行可能JARファイル(Runnable JAR File)」 を選びます。
- 「起動構成(Launch configuration)」で、実行したいクラスを選びます。一度Eclipse内で実行しておくと、ここのプルダウンに「クラス名 – プロジェクト名」が出てきます。
- 出力先を指定します。
- 「ライブラリーの取り扱い」で「生成されるJARに必須ライブラリーを抽出」を選びます。これで依存ライブラリがJARの中に取り込まれます。
- 「完了」を押せば、依存込みの実行可能JARが出来上がります。
「自分のプロジェクトはライブラリを使っているか分からない」という場合、外部のjarやMaven/Gradleの依存を追加していればRunnable JARが安全です。迷ったらRunnable JARを選んでおけば、まず実行で困りません。
作成したJARファイルを実行する
JARができたら、ターミナル(Windowsはコマンドプロンプト)で、JARのある場所に移動して次のコマンドを実行します。-jar オプションを忘れると動かないので注意してください。
$ java -jar Hello.jar問題がなければ、次のように結果が表示されます。
$ java -jar Hello.jar
本日の日付は2026/06/24なお、お使いのパソコンにJavaの実行環境(JDK)が入っていない場合は、先にインストールが必要です。手順は別記事「【Mac】Javaの開発環境をインストールする」を参考にしてください。
うまく動かないときのエラー対処(トラブルシューティング)
JARの実行でつまずきやすい代表的なエラーと、その原因・対処をまとめます。
no main manifest attribute, in Hello.jar
マニフェストにメインクラスが設定されていないときに出ます。方法Aの手順5でメイン・クラスの指定を飛ばしたのが原因です。もう一度エクスポートし、メインクラスを指定し直すか、Runnable JARで作り直してください。
Could not find or load main class test.Hello
指定したメインクラスの名前が、実際のパッケージ名.クラス名と食い違っているときに出ます。今回なら test.Hello が正しい指定です。パッケージ名の付け忘れ・打ち間違いがないか確認してください。
Error: Unable to access jarfile Hello.jar
JARファイルが見つからないときのエラーです。コマンドを実行しているカレントディレクトリにJARが無いか、ファイル名の打ち間違いが原因です。cd でJARのある場所へ移動するか、フルパスで指定しましょう。
UnsupportedClassVersionError … has been compiled by a more recent version of the Java Runtime
JARを作成したときのJavaバージョンが、実行環境のバージョンより新しいときに出ます。実行側のJavaを同じか新しいバージョンに上げるか、プロジェクトのコンパイル対象バージョンを実行環境に合わせてください。
JAR creation failed(エクスポート時に失敗する)
多くはプロジェクトにコンパイルエラーが残っているのが原因です。JARにする前に、Eclipse内でエラーなくビルド・実行できる状態にしてから書き出してください。
例えるなら「おかずを詰めたお弁当箱」
JARファイルは、お弁当箱に例えると分かりやすいです。バラバラのおかず(.class ファイル)を1つの箱に詰めて持ち運べるようにしたものがJARです。
そしてマニフェストは「箸をどこから付けるか(=どのクラスから食べ始めるか)」を書いたメモのようなもの。これがないと、箱は開けられても「どこから手をつければいいか」が分からず、プログラムは動き出せません。
Runnable JARは、おかずだけでなく必要な調味料(依存ライブラリ)まで一緒に詰めた、それ単体で完結するお弁当だとイメージしてください。
まとめ
- JARは
.classやリソースを1つにまとめた「Java用の箱」。配布・実行が楽になる - 実行できるJARにするには、マニフェストにメインクラスを指定する
- 外部ライブラリを使うならRunnable JAR+必須ライブラリを抽出で同梱する
- 実行は
java -jar ファイル名.jar。動かないときはエラー文を手がかりに対処する
JARが作れるようになったら、次は作ったプロジェクトをGitHubで管理したり、テストコードを書いたりと、開発の幅が広がります。あわせて「EclipseとGitHubの連携方法」や「JUnit & Mockito入門」もどうぞ。
【Java初心者向けおすすめ講座】
体系的に基礎から学びたい方は、Udemyの入門講座も独学の助けになります。
参考リソース
- Oracle公式「JAR ファイルの概要(The Java™ Tutorials)」:JARとマニフェストの公式解説
- Eclipse公式ヘルプ「Exporting a JAR file / Runnable JAR file」:エクスポート手順の一次情報





コメント