JavaJavaコンソールアプリ

【Java】Eclipseでjarファイルを作成・配布する方法

JARファイル作成配布解説ページのアイキャッチ画像 Java

この記事では、Javaアプリケーションの配布に使用されるjarファイルの概要と、その作成・配布方法について解説します。また、Java開発に必要なJVM、JRE、JDKの違いとインストール手順も紹介します。

はじめに

Eclipseインストールがまだの方はこちら

jarファイルとは

jarファイルは「Java ARchive」の略で、Javaプログラムを配布するためのファイル形式です。具体的には、複数のJavaクラスファイルやリソース(画像やテキストファイルなど)をZIP形式で圧縮し、一つのファイルにまとめたものです。これにより、アプリケーションを効率的に管理し、配布することが可能になります。

jarファイルの利点

  1. 配布が簡単: 複数のファイルを一つにまとめることで、アプリケーションの配布が容易になります。
  2. 実行が容易: jarファイルはJavaランタイム環境(JRE)で直接実行できるため、特別な解凍作業が不要です。
  3. 圧縮されたサイズ: jarファイルは圧縮されているため、ディスクスペースを節約でき、ネットワーク経由での転送も効率的です。
  4. クロスプラットフォーム対応: jarファイルは、Windows、macOS、Linuxなど、さまざまなOSで実行可能です。Java仮想マシン(JVM)がインストールされていれば、OSに関係なく同じjarファイルを実行できます。

注意点

  • Java Runtime Environment (JRE)の必要性: すべてのプラットフォームで、jarファイルを実行するにはJREが必要です。
  • クラスパスの設定: 外部ライブラリを使用している場合、クラスパスの設定が必要になることがあります。

Java仮想マシン(JVM)

JVM (Java Virtual Machine)

JVMはJava仮想マシンの略で、Javaバイトコードを実行するための仮想マシンです。JVMは、異なるプラットフォーム(Windows、macOS、Linux)上でJavaプログラムを実行可能にする役割を果たします。

JRE (Java Runtime Environment)

JREはJavaランタイム環境の略で、Javaアプリケーションを実行するために必要な最小限のコンポーネントセットです。JREにはJVMと、Javaプログラムの実行に必要なライブラリやその他のファイルが含まれています。

JDK (Java Development Kit)

JDKはJava開発キットの略で、Javaアプリケーションの開発に必要なツールセットです。JDKにはJREに加えて、コンパイラ(javac)やデバッガなどの開発ツールが含まれています。

JDKのインストール手順

今回は、JDK 21のインストール方法を解説します。

JDK 23との比較

JDK 23は2024年9月17日にリリースされた非LTSバージョンです。

  • JDK 21はLTS(Long Term Support)であり、長期的な安定性とサポートが提供される
  • JDK 23は最新機能をいち早く取り入れられるが、サポート期間は短い

企業や大規模プロジェクトでは安定性と長期サポートが重要なため、JDK 21の採用が推奨されます。一方、最新機能をいち早く試したい開発者にはJDK 23が適しています。

インストーラーのダウンロード

JDK 21のダウンロード項目:

OSアーキテクチャインストーラータイプサイズ (MB)
Windowsx64 (64ビット)Installer164.28
MSI Installer163.03
Compressed Archive185.91
macOSIntel (x64)DMG Installer183.85
Compressed Archive184.51
Apple Silicon (ARM64)DMG Installer181.55
Compressed Archive182.27
Linuxx64 (64ビット)Compressed Archive188.53
RPM Package188.18
Debian Package160.30
ARM64Compressed Archive186.82
RPM Package186.48

通常、各OSで推奨されるのは以下のファイルです:

  • Windows: MSIインストーラー
  • macOS: DMGインストーラー
  • Linux: RPMまたはDebianパッケージ(ディストリビューションに応じて)

圧縮アーカイブ(Compressed Archive)は、手動でインストールしたい上級ユーザー向けのオプションです。

Windowsの場合:「x64 MSI Installer」ダウンロードします。

インストーラーの実行

ダウンロードしたインストーラーファイルをダブルクリックして実行します。

インストールウィザードの指示に従って進めます。「Next」をクリックします。

インストール先の選択:

  • デフォルトのインストール先で問題ないので「Next」をクリックします。

ユーザーアカウント制御のポップアップが表示されるので、「はい」をクリックします。

Close」をクリックします。

インストールの確認:

  • コマンドプロンプトまたはターミナルを開き、以下のコマンドを実行してJDKのバージョンを確認します:
java -version
javac -version

これらの手順を完了すると、jarファイルの作成や配布に必要なJDKがインストールされ、使用可能になります。JDKには必要なすべてのコンポーネント(JVM、JRE、開発ツール)が含まれているため、別途JREをインストールする必要はありません。

Eclipseでjarファイルを作成する手順

プロジェクトを作成

今回は、「Hello World」と表示するコードを使用してみます。

Java
// IOExceptionを扱うためにjava.ioパッケージをインポート
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        // "Hello World"をコンソールに出力
        System.out.println("Hello World");
        
        // ユーザーにEnterキーを押すよう促すメッセージを表示
        System.out.println("Press Enter to exit...");
        
        try {
            // ユーザーの入力(Enterキー)を待機
            // この行でプログラムが一時停止し、Enterキーが押されるまで待機する
            System.in.read();
        } catch (IOException e) {
            // 入力操作中にエラーが発生した場合、スタックトレースを出力
            e.printStackTrace();
        }
        // try-catchブロックを抜けると、プログラムは終了する
    }
}

このコードの説明:

  1. import java.io.IOException; を追加して、IOException を扱えるようにします。
  2. System.out.println("Press Enter to exit..."); でユーザーに Enter キーを押すよう促します。
  3. System.in.read(); を try-catch ブロックで囲みます。これは入力操作で IOException が発生する可能性があるためです。
  4. ユーザーが Enter キーを押すまで、プログラムは System.in.read(); で一時停止します。
  5. Enter キーが押されると、System.in.read(); が完了し、プログラムが終了します。

このコードを実行すると、”Hello World” を表示した後、”Press Enter to exit…” というメッセージを表示し、ユーザーが Enter キーを押すまでウィンドウ(コマンドプロンプトやターミナル)が開いたままになります。Enter キーが押されると、プログラムが終了し、ウィンドウが閉じます。

jarファイルの保存先フォルダ作成

まず。jarファイルの保存先のフォルダを作成します。
プロジェクトを右クリックして、「新規」、「フォルダ」を選択します。

ファイル名は「lib」と入力して「完了」をクリックします。

jarファイル作成

プロジェクトを右クリックして、「エクスポート」を選択します。

Java」、「実行可能JARファイル」を選択して「次へ」をクリックします。

起動構成にエントリーポイントがあるクラスを選択します。今回は、「Main.java」を選択します。
次に「参照」をクリックして、エクスポート先を選択します。

lib」のディレクトリに移動して、jarファイルのファイル名を入力して「保存」をクリックします。今回は「Hello」にします。

エクスポート先の設定出来たら、「完了」をクリックします。

これで、設定したエクスポート先に jarファイルが作成されます。

実行用ファイル作成

実行用ファイルを作成することで、簡単にjarファイルを起動できます。

ポイント

以下の「java -jar Hello.jar」コードを実行したいコンソール用の拡張子ファイルで保存すると起動時に便利です。※ java -jar 作成したjarファイル名

  • コマンドプロンプト(Windows):「run_hello.bat
  • PowerShell(Windows):「run_hello.ps1
  • GitBash(Windows):「run_hello.sh
  • ターミナル(Mac,Linux):ターミナルで「jarファイル」のディレクトリに移動して、「java -jar Hello.jar」コードを直接入力して実行します。
java -jar Hello.jar

lib」フォルダを右クリックして「新規」、「ファイル」を選択します。

run_hello.bat」と入力して「完了」をクリックします。run_hello部分のファイル名は自由に決めても問題ありません。

ファイルの内容は以下のコードを入力して保存してください。
java -jar 作成したjarファイル名

java -jar Hello.jar

※ファイルは「Hello.jar」と同じディレクトリ内に配置してください。

jarファイルの動作確認

  • コマンドプロンプト(Windows):「run_hello.batスクリプトでの実行方法
    run_hello.bat」をダブルクリックすると起動します。
  • PowerShell(Windows):「run_hello.ps1スクリプトでの実行方法
    run_hello.ps1」を右クリックして「PowerShellで実行」を選択すると起動します。
  • GitBash(Windows):「run_hello.shスクリプトでの実行方法
    run_hello.sh」を右クリックして「プログラムから開く」で「Git for Windows」を選択、「常に使う」を選択します。これでダブルクリックで起動できるようになります。
  • コマンドプロンプトやターミナルでの実行方法

コマンドプロンプトやターミナルで「jarファイル」のディレクトリに移動して、以下のコードを直接実行してアプリケーションを起動します。

java -jar Hello.jar

出力結果:

Hello World
Press Enter to exit...

jarファイルの配布方法

  • メールやクラウドストレージでの共有
  • Webサイトからのダウンロード提供
  • GitHub等のリポジトリでの公開

必要なファイル

  1. アプリケーションのJARファイル (Hello.jar)
  2. Windows用バッチファイル (run_hello.bat)もしくは(run_hello.ps1)
  3. READMEファイル (README.md)
    実行方法などを記載します。

README.mdの例:

# HelloApp実行手順

## 必要条件
- Java Development Kit (JDK) バージョン8以上、もしくは Java Runtime Environment (JRE) バージョン8以上

## インストール方法

1. お使いのオペレーティングシステムに適したJava Development Kit (JDK)またはJava Runtime Environment (JRE)をダウンロードしてインストールしてください:

   - **Windows**:
     - JDK: [Oracle公式サイト](https://www.oracle.com/jp/java/technologies/downloads/)からダウンロードしてインストールします。
     - JRE: [Java公式サイト](https://www.java.com/download/)からダウンロードしてインストールします。
   - **Mac****Linux**:
     [Oracle公式サイト](https://www.oracle.com/jp/java/technologies/downloads/)からお使いのOSとアーキテクチャ(x64, ARM64など)に適したJDKをダウンロードしてインストールします。

   - インストール方法:
     - **Windows**: 
       - JDK: ダウンロードしたインストーラー(.exe or .msi)を実行します。
       - JRE: ダウンロードしたインストーラーを実行します。
     - **Mac**: ダウンロードしたDMGファイルを開き、インストーラーを実行します。
     - **Linux**: 
       - Debian系(Ubuntu等): ダウンロードした.debパッケージを使用してインストールします。
       - Red Hat系(CentOS等): ダウンロードした.rpmパッケージを使用してインストールします。
       
2. ダウンロードしたHelloApp.zipファイルを任意の場所に解凍してください。

## 実行方法

### Windows:
1. 解凍したフォルダ内の`run_hello.bat`をダブルクリックしてください。

### Mac/Linux:
1. ターミナルを開きます。
2. 解凍したフォルダに移動します。例: `cd /path/to/HelloApp`
3. 以下のコマンドを実行してください。
   java -jar Hello.jar

## 注意事項
- JDKのバージョンによってはライセンス条件が異なる場合があります。使用目的に応じて適切なバージョンを選択してください。
- 開発やテスト目的の場合は、最新のLTS(Long Term Support)バージョンの使用をお勧めします。

ディレクトリ構造

HelloAppフォルダを作成して必要なファイルをまとめます。

HelloApp/
├── Hello.jar
├── run_hello.bat
├── run_hello.ps1
└── README.md

配布手順

  1. HelloApp」ディレクトリをZIP形式で圧縮します。
  2. 圧縮したZIPファイル(HelloApp.zip)をユーザーに配布します。

ユーザーの使用手順

  1. 配布されたHelloApp.zipファイルを解凍します。
  2. 解凍されたフォルダ内のREADMEファイルの指示に従ってアプリケーションを起動します。

まとめ

  • jarファイルは複数のJavaクラスファイルやリソースをまとめた圧縮ファイルで、Javaアプリケーションの配布に便利です。
  • Java開発にはJDK (Java Development Kit)のインストールが必要です。公式サイトからインストーラーをダウンロードして実行します。
  • EclipseなどのIDEを使用してjarファイルを簡単に作成できます。
  • jarファイルを配布する際は、必要なファイルやディレクトリ構造を整えることが重要です。
  • ユーザーはJava Runtime Environment (JRE)をインストールすることでjarファイルを実行できます。

jarファイルはJavaアプリケーションの配布を容易にする重要なツールです。適切な開発環境を整え、正しい手順でjarファイルを作成・配布することで、ユーザーが簡単にアプリケーションを利用できるようになります。

未経験でもWEBスキルを取得したい方
  • Javaコース
    Javaプログラミングを基礎から応用まで、体系的に学べる実践的なカリキュラムが特徴です。「マインクラフト」を通じてJavaの基本文法とフレームワークの概念を学びます。また、実際のプロジェクト開発を通じて、データベース連携やWebアプリケーション開発のスキルを身につけることができます。

コメント

タイトルとURLをコピーしました