Lesson 3

Javaプログラムのコンパイル・実行

Lesson 3 Chapter 1
Javaプログラムのコンパイル・実行

Javaプログラムのコンパイルとは、JavaのソースコードをJava仮想マシンが実行可能なバイトコードに変換する処理です。コンパイルにはJavaコンパイラというツールが必要で、JavaコンパイラはJava Development Kit (JDK)に含まれています。

プログラムを作成したら、Javaコンパイラでコンパイルし、バイトコードを生成します。最後に、Java仮想マシンでバイトコードを実行することで、Javaプログラムを実行することができます。

以下は、Javaプログラムをコンパイルして実行するおおまかな手順です。

  1. Javaコンパイラをインストールする(JDKをインストール)
  2. Javaの開発環境を整える(Eclipseをインストール)
  3. Javaのプログラムを作成する
  4. プログラムをコンパイルする
  5. プログラムを実行する

具体的な手順としては、Eclipseでプロジェクトを作成してJavaソースコードを作成し、プログラムをコンパイルして実行する方法があります。プログラムを右クリックしてコンパイルや実行を選択することで、手軽にプログラムの作成・実行ができます。

Lesson 3 Chapter 2
コンパイルとは

Javaのプログラムは、0と1で表現される機械語と比較して、人間が理解しやすく直感的な表現ができる高水準のプログラミング言語で書かれているため、コンピュータが理解できる形に変換する必要があります。そのために、Javaのプログラムは「コンパイル」と呼ばれる過程を経て、バイトコードという形式に変換されます。

Java-3_1

コンパイルは、Javaコンパイラと呼ばれるツールを使用して行われます。Javaコンパイラは、Javaのソースコードを解析し、バイトコードに変換する役割を持っています。コンパイルによって生成されるバイトコードは、Java仮想マシンで実行することができます。

Javaプログラムをコンパイルすることで、以下のようなメリットがあります。

  • エラーの早期発見

    コンパイル時に文法エラーや構文エラーが発見されます。コンパイルエラーがある場合は、実行前に修正できるため、バグの発生を防止できます。

  • プログラムの高速化

    コンパイル後のバイトコードは、Java仮想マシンで解釈されます。インタプリタ言語のようにプログラムを直接実行するのに比べてバイトコードの実行速度が速いため、コンパイルすることでプログラムの実行速度を向上できます。

以上のように、Javaのプログラムはコンパイルすることで、実行前にエラーを発見することができ、実行速度を向上させることができます。

javacコマンド

「javacコマンド」とは、Javaのコンパイラを起動するためのコマンドです。javacコマンドを使用することで、Javaのソースコードをバイトコードにコンパイルできます。

javacコマンドの基本的な使い方は以下の通りです。

command
javac [オプション] [ソースファイル]

オプションには、コンパイル時に使用する設定を指定することができます。

代表的なオプション

`-d`:コンパイルしたクラスファイルを出力するディレクトリを指定します。 `-classpath`: クラスファイルを探すパスを指定します。 `-sourcepath`: ソースファイルを探すパスを指定します。

例えば、Hello.javaというJavaのソースコードをコンパイルする場合は、以下のようにコマンドを入力します。

command
javac Hello.java

これにより、Hello.classというバイトコードのファイルが生成されます。

また、Eclipseなどの統合開発環境を使用する場合は、コマンドラインでjavacコマンドを使用する必要はありません。IDE上でビルドを実行することで、自動的にjavacコマンドが実行されます。

以上のように、javacコマンドを使用することで、Javaのソースコードをバイトコードにコンパイルできます。

classファイル

Javaのプログラムをコンパイルすると、バイトコードが生成されます。このバイトコードは、.classという拡張子を持つファイルに格納され、クラスファイルと呼ばれます。このクラスファイルは、Java仮想マシン上で実行されます。

Java-3_2

Javaのクラスファイルには、以下のような特徴があります。

  • バイトコード

    Javaのソースコードをコンパイルすることで生成されたバイトコードが格納されています。

  • プラットフォームに依存しない

    Java仮想マシンがあれば、どのプラットフォームでも実行できます。つまり、Windows、Linux、MacなどのOSを問わずに動作することができます。

  • クラス階層構造

    Javaのクラスファイルには、そのクラスが属するパッケージ名や親クラス、インタフェースなどの情報が含まれています。

  • セキュリティ

    Javaのクラスファイルには、実行時にセキュリティ検査を行うための情報が含まれています。

Javaのクラスファイルは、Javaのプログラムを実行する際に欠かせない重要なファイルです。また、Javaのクラスファイルはバイトコードであるため、Javaコンパイラによって生成されたファイルを直接編集することはできません。クラスファイルを変更したい場合は、Javaのソースコードを編集し、再度コンパイルする必要があります。

ソースファイルの作成、コンパイル

Javaのプログラムを作成するためには、Javaプログラムで書かれたソースファイルを作成し、コンパイルする必要があります。 Javaのプログラムを作成し、実行するためには、事前に以下の2つのステップが必要です。

  1. ソースファイルの作成

    Javaプログラムを作成するには、テキストエディタなどでJavaのソースファイルを作成する必要があります。ソースファイルは、拡張子が.javaで、ファイル名はクラス名と一致させる必要があります。Eclipseを使用していればEclipse上で作成できます。

  2. コンパイル

    Javaのソースファイルを実行するためには、Javaコンパイラを使用してクラスファイルに変換する必要があります。コンパイルには、コマンドラインでjavacコマンドを使用するか、統合開発環境(IDE)のビルド機能を使用することができます。

以下では、Eclipseを使用する場合の手順を解説します。

【Eclipseを使用する場合】

  1. Eclipseを起動します。
  2. プロジェクトを作成します。 Eclipseのメニューバーから「ファイル」→「新規」→「Java プロジェクト」を選択します。プロジェクト名を入力して、「完了」をクリックします。
  3. ソースファイルを作成します。 プロジェクトのフォルダを右クリックし、「新規」→「クラス」を選択します。クラス名を入力し、「完了」をクリックします。すると、Javaファイルが作成されます。
  4. Javaファイルを編集します。 作成されたJavaファイルをダブルクリックして開きます。ここで、Javaのコードを記述します。例えば、「Hello, world!」を表示するプログラムを書く場合、以下のようなコードを書きます。
    HelloWorld.java
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello, world!");
        }
    }
    
  5. ソースファイルを保存します。 ファイルメニューから「保存」をクリックするか、ショートカットキーで「Ctrl+ S」を押して保存します。
  6. ソースファイルをコンパイルします。 Javaファイルを右クリックし、「実行」→「Javaアプリケーション」を選択します。すると、Javaファイルがコンパイルされ、実行可能なクラスファイルが生成されます。(例の場合:MyProject\bin\HelloWorld.classに生成されます)

以下は、javacコマンドを使用した場合の例です。

【javacコマンド使用する場合】

  1. コマンドプロンプトを開き、ソースファイルが保存されているディレクトリに移動します。
  2. javac コマンドを使用して、ソースファイルをコンパイルします。例えば、HelloWorld.javaというファイルをコンパイルする場合は、以下のように入力します。
    command
    javac HelloWorld.java

コンパイルに成功した場合、現在のディレクトリにHelloWorld.classというファイルが生成されます。

以上が、Javaのソースファイルの作成とコンパイルの手順になります。この手順に従ってJavaプログラムを作成し、コンパイルすることができます。

Lesson 3 Chapter 3
Javaプログラムの実行

Javaのプログラムを実行するためには、コンパイルされたクラスファイルを実行する必要があります。以下では、手順を詳しく説明します。

【Eclipse上で実行する場合】

  1. Eclipseを起動します。
  2. コンパイルされたクラスファイルを選択します。 プロジェクトのフォルダを開き、binフォルダを展開します。そこにコンパイルされたクラスファイルが格納されています。 例えば、HelloWorld.javaファイルをコンパイルした場合、HelloWorld.classファイルが生成されています。

    Java-3_3

  3. コンパイルされたクラスを右クリックし、「実行」→「実行の構成」をクリックすると、実行構成のウィンドウが開きます。そのまま「実行」をクリックします。

    Java-3_4

  4. Eclipseのコンソール上に実行結果が表示されます。

    Java-3_5

以上が、Javaプログラムの実行の手順になります。初心者の方でも、この手順に従ってJavaプログラムを実行することができます。

javaコマンド

Javaコマンドは、Javaプログラムを実行するためのコマンドラインツール(コマンドプロンプトやターミナルで実行するコマンド)です。Javaプログラムをコンパイルして、.classファイルを作成した後、Javaコマンドを使用してそのプログラムを実行できます。

  1. Javaプログラムを作成し、Eclipseでコンパイルして、.classファイルを生成します。
  2. コマンドラインを開きます。Windowsであれば、「コマンドプロンプト」、Mac OS Xであれば「ターミナル」というアプリケーションを起動します。
  3. コマンドラインで、以下のコマンドを入力します。
    command
    java [オプション] [パッケージ名.クラス名]

    ここで、[オプション]は、Java仮想マシンの動作を制御するためのオプションを指定します。一般的に使用されるオプションには、メモリ使用量を調整する-Xmxオプションや、デバッグモードを有効にする-debugオプションがあります。

    [クラス名]は、実行したいJavaプログラムのクラス名を指定します。クラス名は、拡張子「.class」を除いたファイル名と同じにする必要があります。

  4. Enterキーを押して、Javaプログラムを実行します。

【javaコマンドを使用する例】

  1. Eclipseを起動します。
  2. 下記のようなプログラムを作成します
    HelloWorld.java
    public class HelloWorld {
      public static void main(String[] args) {
        System.out.println("Hello, world!");
      }
    }
    
  3. EclipseでHelloWorld.javaをコンパイルして、HelloWorld.classファイルを生成します。
  4. コンパイルされたクラスファイルを選択します。プロジェクトのフォルダを開き、binフォルダを展開します。そこにコンパイルされたクラスファイルが格納されています。例えば、HelloWorld.javaファイルをコンパイルした場合、HelloWorld.classファイルが生成されています。
  5. コマンドプロンプトを開きます。Windowsの場合、スタートメニューから「cmd」を検索し、コマンドプロンプトを開きます。
  6. プロジェクトのbinフォルダに移動します。
    command
    cd [プロジェクトのパス]/bin
  7. Javaプログラムを実行します。コマンドプロンプトで、以下のコマンドを入力します。
    command
    java パッケージ名.クラス名
    例えば、HelloWorld.javaファイルをコンパイルした場合、パッケージ名がない場合は以下のようになります。
    command
    java HelloWorld
    パッケージ名(com.example)がある場合は、以下のようになります。
    command
    java com.example.HelloWorld
  8. プログラムが正しく実行されたかどうかを確認します。 プログラムが実行されると、コマンドプロンプトに出力されます。 例えば、HelloWorld.javaファイルの場合は、「Hello,world!」が表示されます。

main メソッドについて

mainメソッドとは、Javaプログラムを実行するときに最初に呼び出されるメソッドです。エントリーポイントとも言われます。

Java-3_6

mainメソッドの書き方にはルールがあります。

  • 公開範囲を指定する「アクセス修飾子」は必ずpublicであること
  • オブジェクト化しなくても直接呼び出すことができる「staticメソッド(静的メソッド)」であること
  • 戻り値は必ずvoidであること(メソッドが値を返さず、呼び出し元に何も返さないこと)
  • メソッド名は『main』(全て小文字)であること
  • メソッドの引数はStringの配列か、Stringの可変長引数のみであること(後述)

例えば、以下のように書くことができます。

HelloWorld.java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

Eclipseを使ってJavaプログラムを実行する場合は、実行構成でメインクラスを設定する必要があります。

  1. プロジェクトを右クリックして、「実行」→「実行構成」を選択します。
  2. 「Javaアプリケーション」を選択して、「新規作成」ボタンをクリックします
  3. 「名前」欄に任意の名前を入力します。
  4. 「プロジェクト」欄に対象のプロジェクト名を入力します。
  5. 「メインクラス」欄に対象のクラス名(パッケージ名も含める)を入力します
  6. 「適用」ボタンと「実行」ボタンをクリックします。

以上が、Javaのmainメソッドについての説明です。

公開範囲

Javaにおける「公開範囲」とは、プログラムの部品である「クラス」や「メソッド」、「変数」などの要素に対して、他の部品からアクセスできる範囲のことを指します。具体的には、public、protected、private、または何も指定しない(default)の4つの範囲があります。publicはどこからでもアクセス可能、protectedは同じパッケージ内とそのクラスを継承したサブクラス内からアクセス可能、privateは同じクラス内からのみアクセス可能、defaultは同じパッケージ内からアクセス可能です。

引数の指定(プログラムでの指定、コマンドラインでの指定)

引数とは、プログラムに渡す値のことで、プログラムの動作を変えたり、入力データを受け取ったりするのに使います。

引数の指定には、プログラムでの指定とコマンドラインでの指定があります。

プログラムでの指定

プログラムで引数を指定する場合は、mainメソッドの仮引数(パラメータ)を使います。mainメソッドは以下のように書きます。

.java
public static void main(String[] args) {
  // 引数を使う処理
}

ここで、String[] argsという部分が仮引数です。これは文字列型(String)の配列([])という意味で、複数の文字列を受け取ることができます。

例えば、以下のようなプログラムを作成したとします。

Hello.java
public class Hello {
  public static void main(String[] args) {
    System.out.println("Hello, " + args[0] + "!");
  }
}

このプログラムでは、args[0]という部分で配列の最初(0番目)の要素を取り出しています。これが実引数(実際に渡される値)になります。

コマンドラインでの指定

コマンドラインで引数を指定する場合は、javaコマンド実行時にクラス名の後ろにスペース区切りで書きます。例えば、

command
java Hello Alice

とすると、Helloクラスに"Alice"という文字列が渡されます。この場合、args[0]は"Alice"になります。

また、引数は下記のように実行することで複数指定することができます。

command
java MyClass arg1 arg2 arg3 ...

MyClassは、実行するJavaクラスの名前です。arg1、arg2、arg3は、指定したい引数の値です。引数は、スペースで区切って指定します。

指定した引数は、String[]型のargs配列に格納されます。例えば、上記の例でarg1、arg2、arg3の値がそれぞれ"foo"、"bar"、"baz"だった場合、args配列には以下のように格納されます。

code
args[0] = "foo";
args[1] = "bar";
args[2] = "baz";

以上が、Javaでの引数の指定方法になります。

【Eclipseを使用する場合】

  1. Eclipse上で、実行したいJavaプログラムを右クリック
  2. 「実行」→「実行の構成.」を選択
  3. 左側のメニューから「Javaアプリケーション」を選択
  4. 右側の「引数」タブを選択

このタブで、引数を指定することができます。引数は、スペースで区切って入力します。

Lesson 3 Chapter 4
コンパイルとビルドの違い

Javaのプログラムを実行するためには、ソースコードをコンパイルしてバイナリファイルに変換し、それを実行する必要があります。このとき、コンパイルとビルドという2つの用語がよく使われますが、それぞれの違いを簡単に説明します。

コンパイル(Compile)

「コンパイル」とは、ソースコードをコンピュータが理解できるバイナリコードに変換することを指します。Javaの場合、.javaファイルから.javaファイルに対応する.classファイルを生成するプロセスです。コンパイルには、javacというコマンドを使用します。コンパイルに成功した場合、.classファイルが生成されます。

ビルド(Build)

「ビルド」とは、コンパイルだけでなく、その他の作業(ライブラリのリンク、パッケージングなど)を含めてプログラムを完成させることを指します。Javaの場合、ビルドには、Ant、Maven、Gradleなどのビルドツールを使用することが一般的です。これらのビルドツールは、ビルドのための設定ファイル(build.xmlやpom.xmlなど)を使用して、コンパイルやパッケージングなどの複数のタスクを一括で行います。

Java-3_7

簡単にまとめると、コンパイルはソースコードをバイナリコードに変換する単一のタスクであり、ビルドはコンパイルを含む複数のタスクを一括で行う作業です。

Javaの開発では、コンパイルとビルドは非常に重要な作業です。コンパイルに失敗すると、プログラムが実行できません。また、ビルドに失敗すると、プログラムが正しく動作しないことがあります。ビルドツールを使って効率的にプログラムをビルドすることは、Java開発において重要なスキルの1つです。

ビルドとは

Javaの開発において、「ビルド」とは、ソースコードから実行可能なアプリケーションを生成する作業のことを指します。ビルドには、コンパイルやパッケージング、テスト実行などが含まれます。

具体的には、Javaのビルドプロセスでは、以下のような作業が行われます。

  1. ソースコードをコンパイルして、バイトコード(.classファイル)を生成する。
  2. コンパイルされたバイトコードを、必要なライブラリやリソースとともに、実行可能なフォーマットにパッケージング(まとめる)する(jarファイルやwarファイルなど)。
  3. パッケージングされたファイルを配布用に整理する(zipファイルやディレクトリ構成など)。
  4. オプションで、ビルドしたアプリケーションを自動的にデプロイ(サーバーに配布)したり、テストを実行したりする。

ビルドには、ビルドツールを使用することが一般的です。ビルドツールは、プログラマがビルドプロセスを自動化し、ビルドの複雑さを減らすためのツールです。代表的なビルドツールとしては、Ant、Maven、Gradleなどがあります。これらのビルドツールは、ビルドプロセスを定義するXMLファイルなどを用いて、ビルドの自動化やビルド時の依存関係管理を行います。

ビルドは、開発者が書いたコードを実行可能な形にするために必要な作業であり、ソフトウェア開発において重要なプロセスの1つです。

jarファイル、warファイル

Javaの開発において、jarファイルとwarファイルは非常に重要なファイル形式です。それぞれの役割について以下に解説します。

jarファイル

jarファイルは、Javaアーカイブと呼ばれるもので、複数のJavaクラスファイルや画像ファイル、設定ファイルなどを一つのファイルにまとめたものです。jarファイルはJavaのライブラリの配布や、自分で作成したクラスライブラリを他の開発者と共有する場合などに使用されます。

jarファイルは、以下のようなコマンドで作成できます。

command
jar cf .jar 

ここで、cfは「create file」の略で、は作成するjarファイルのファイル名、はjarファイルに含まれるファイル名です。

warファイル

warファイルは、Webアプリケーションアーカイブと呼ばれるもので、Webアプリケーションを一つのファイルにまとめたものです。warファイルには、JSPファイルやHTMLファイル、画像ファイル、設定ファイル、ライブラリファイルなどが含まれます。warファイルはJava ServletやJavaServer Pages(JSP)などのWebアプリケーションを配布する場合に使用されます。

warファイルは、以下のようなコマンドで作成できます。

command
jar cvf .war 

ここで、cvfは「create verbose file」の略で、は作成するwarファイルのファイル名、はwarファイルに含まれるファイル名です。

以上がjarファイルとwarファイルの概要です。

jarコマンド

Java開発において、jarファイルを作成するためには「jarコマンド」を使用します。jarコマンドを使うと、複数のJavaクラスファイルや画像ファイル、設定ファイルなどを一つのjarファイルにまとめることができます。

以下に、jarコマンドの基本的な使い方を紹介します。

  1. jarファイルの作成

    jarコマンドを使用してjarファイルを作成するには、以下のようなコマンドを実行します。

    command
    jar cf .jar 

    ここで、cfは「create file」の略で、は作成するjarファイルのファイル名、はjarファイルに含まれるファイル名です。たとえば、以下のようなコマンドで作成することができます。

    command
    jar cf mylib.jar MyClass.class MyImage.png config.properties

    このコマンドでは、MyClass.class、MyImage.png、config.propertiesという3つのファイルをmylib.jarという名前のjarファイルにまとめています。

  2. jarファイルに含まれるファイルの一覧表示

    jarファイルに含まれるファイルを一覧表示するには、以下のようなコマンドを実行します。

    command
    jar tf .jar

    ここで、tfは「table file」の略で、は対象のjarファイルのファイル名です。たとえば、以下のようなコマンドで一覧を表示することができます。

    command
    jar tf mylib.jar

    このコマンドでは、mylib.jarに含まれるファイルの一覧が表示されます。

  3. jarファイルの解凍

    jarファイルを解凍して、ファイルを取り出すことができます。解凍するには、以下のようなコマンドを実行します。

    command
    jar xf .jar

    ここで、xfは「extract file」の略で、は解凍するjarファイルのファイル名です。たとえば、以下のようなコマンドで解凍することができます。

    command
    jar xf mylib.jar

    このコマンドでは、mylib.jarを解凍して、ファイルを取り出すことができます。

Lesson 3 Chapter 5
jarファイルを作成して、コンソールに文字を出力する

Javaで作成したアプリケーションを実行可能な単一ファイルにまとめるための作業を行います。この単一ファイルを他のユーザーに配布することで、Java実行環境がインストールされていない環境でもアプリケーションを実行できます。

まず、Javaのコンパイル済みのクラスファイルを含むディレクトリを用意します。そのディレクトリ内に、マニフェストファイル(後述)を作成し、jarコマンドでアーカイブファイル(.jarファイル)を作成します。このマニフェストファイルには、アプリケーションのメインクラスを指定します。

作成したjarファイルは、Javaコマンドを使用して実行できます。この時、jarファイル内のマニフェストファイルに指定されたメインクラスが実行されます。そして、コンソールに出力される文字列が表示されます。

この作業を行うことで、Javaで作成したアプリケーションを簡単に配布できるようになります。

Javaプログラムを作成する

以下は、Eclipseを使用してJavaプログラムを作成する手順です。

  1. Eclipseを起動し、「新規Javaプロジェクト」を作成する。
    • 「ファイル」メニュー → 「新規」 → 「Javaプロジェクト」
  2. プロジェクト名を入力し、必要に応じてプロジェクトの保存先を指定する。
    • 「プロジェクト名」にプロジェクト名を入力し、「ロケーション」に保存先を指定する。

    例:「プロジェクト名」に「JarTest」と入力し、「ロケーション」にC:\Users\UserName\workspace」と指定する。

  3. 「完了」をクリックし、プロジェクトを作成する。
  4. 「src」フォルダを右クリックし、「新規クラス」を選択する。
    • 「パッケージエクスプローラー」ビューから「src」フォルダを探し、右クリックする。
    • メニューが表示されたら、「新規」 →「クラス」を選択する。
  5. クラス名を入力し、「public static void main(String[] args)」を含むクラスを作成する。
    • 「新規Javaクラス」ダイアログで「名前」にクラス名を入力する。(例:HelloWorld)
    • 「public static void main(String[] args)」を含むクラスを作成するために、「public static void main」のチェックボックスを選択し、「完了」を押す。

    Java-3_8

    もし、自動生成されない場合は、手動で「main」メソッドを作成する。

  6. メソッド内に、Javaプログラムを記述する。

    「main」メソッド内に、Javaプログラムを記述する。

    HelloWorld.java
    public class HelloWorld {
    	public static void main(String[] args) {
    		System.out.println("Hello, world!");  //この行を追加
    	}
    }
    
  7. 「実行」ボタンをクリックし、Javaプログラムを実行する。

    クラスファイルが生成された後、「実行」ボタンをクリックする。または、作成したクラスファイルを右クリックし、[実行] > [Java アプリケーションとして実行] を選択する。

  8. コンソールに「Hello, World!」と表示される。

マニフェストファイルを定義する

Javaのプログラムをjarファイルとしてパッケージ化する場合、マニフェストファイルを定義する必要があります。マニフェストファイルは、jarファイル内に含まれるメタデータの一種であり、パッケージ化されたjarファイルが実行される際に、Java実行環境に対して必要な情報を提供します。

具体的には、マニフェストファイルには以下の情報が含まれます。

  • jarファイルのメインクラス
  • jarファイル内に含まれるライブラリファイルのパス
  • その他のカスタム属性

マニフェストファイルは、通常はプロジェクトのsrcディレクトリ内にMETA-INFディレクトリを作成し、その中にMANIFEST.MFという名前で作成されます。

作成したマニフェストファイルには、以下のようにメインクラスを定義するエントリを追加する必要があります。

MANIFEST.MF
Main-Class: パッケージ名.クラス名

ここで、パッケージ名はプログラムのパッケージ名、クラス名はメインクラスの名前を指定します。このエントリを追加することで、Java実行環境はjarファイルのメインクラスを識別できるようになります。

その他のカスタム属性を追加する場合は、以下のように記述します。

MANIFEST.MF
カスタム属性名: 値

ここで、カスタム属性名と値は任意の文字列を指定します。例えば、以下のように書くことができます。

MANIFEST.MF
My-Property: Hello, World!

以上がマニフェストファイルを定義する方法です。マニフェストファイルを定義することで、Java実行環境にjarファイルの情報を提供することができ、jarファイルを実行する際に必要な情報を提供することができます。

以下はEclipseを使用して、マニフェストファイルを定義し、jarファイルを作成する手順です。

  1. Eclipseを開き、プロジェクトを右クリックして、「新規」→「ファイル」を選択します。
  2. 「新規ファイルの作成」ダイアログが開くので、「ファイル名」に「MANIFEST.MF」と入力します。
  3. 「既定の場所」にチェックを入れ、「完了」をクリックします。
  4. MANIFEST.MFファイルがプロジェクトのルートに作成されます。このファイルをダブルクリックして開きます。
  5. マニフェストファイルの先頭行に「Manifest-Version: 1.0」と入力します。
  6. 「Main-Class:」という行を追加し、その後ろに「[パッケージ名].[クラス名]」を入力します。ここで、[パッケージ名]と[クラス名]は、先に作成したJavaクラスのパッケージ名とクラス名に置き換えます。デフォルトパッケージの場合は「Main-Class:[クラス名]」を入力してください。
  7. マニフェストファイルを保存して閉じます。

以上が、Eclipseを使用してマニフェストファイルを定義する手順です。

マニフェストファイルの例
MANIFEST.MF
Manifest-Version: 1.0
Main-Class: HelloWorld

jarコマンドでjarファイルを作成する

以下は、Eclipseを使用してJavaのプログラムをjarファイルにパッケージする手順です。

  1. Eclipseで、パッケージするJavaプログラムのプロジェクトを開きます。
  2. プロジェクトを右クリックし、[エクスポート]を選択します。
  3. [エクスポート]ダイアログが表示されたら、[Java]→[JAR ファイル]を選択し、[次へ]をクリックします。

    Java-3_9

  4. [JAR ファイル仕様]ページが表示されたら、以下のように設定します。
    • [エクスポートするリソースの選択]:パッケージするプログラムのクラスファイルが含まれるフォルダやプロジェクトを選択します。
    • [エクスポート先を選択]:出力先のjarファイルのパスを指定します。

    Java-3_10

  5. [次へ]をクリックすると、[JAR パッケージオプション]ページが表示されます。

    Java-3_11

  6. [次へ]をクリックすると、[JAR マニフェスト仕様]ページが表示されます。
    • マニフェストファイルを作成済みの場合

      マニフェストファイルを事前に作成している場合は「ワークスペース内の既存のマニフェストを使用」を選択し、マニフェストファイルを指定して下さい。

      Java-3_12

    • マニフェストファイルを作成していない場合

      [マニフェスト・ファイルを作成]を選択してください [メイン・クラス]フィールドに、先程作成したMainクラスを指定します。

      Java-3_13

  7. [完了]をクリックすると、jarファイルが出力されます。

以上が、Eclipseを使用してJavaのプログラムをjarファイルにパッケージする手順です。

jarファイルを実行する

jarファイルを実行するには、以下の手順を行います。

  1. コマンドプロンプトまたはターミナルを開きます。
  2. jarファイルが保存されているディレクトリに移動します。
  3. 下記コマンドを入力して、Enterキーを押します。
    command
    java -jar ファイル名.jar

    Java-3_14

これにより、jarファイル内に含まれるmainクラスが実行され、コンソールに出力されます。

また、Eclipseでも同様の手順で実行することができます。

  1. Eclipseを開き、メニューバーから「ファイル」→「ファイル・システムからプロジェクトを開く」を選択します。
  2. jarファイルが保存されているディレクトリを選択し、「完了」をクリックします。
  3. jarファイルがインポートされたプロジェクトを選択し、メニューバーから「実行」→「実行の構成」を選択します。
  4. 左側のメニューから「Javaアプリケーション」を選択し、「新規構成」をクリックします。
  5. 「メイン」タブで、jarファイル内のmainクラスを選択し、「引数」タブで必要な引数を設定します。(引数が必要な場合のみ)
  6. 「実行」をクリックしてjarファイルを実行します。