簡単な Java アプリケーションの作成
JAR ファイルにパッケージ化する簡単な Java アプリケーションを作成することから始めましょう。これにより、「no main manifest attribute」エラーを実演し、後で修正することができます。
Java クラスの作成
まず、Java ソースファイルのディレクトリを作成し、そこに移動します。
cd ~/project/src/com/example
次に、エディタを開き、このディレクトリにHelloWorld.javaという名前の新しいファイルを作成します。
- WebIDE の左側のサイドバーにある「Explorer」アイコンをクリックします。
/home/labex/project/src/com/exampleに移動します。
- 右クリックして「New File」を選択します。
- ファイル名を
HelloWorld.javaとします。
HelloWorld.javaファイルに以下のコードを追加します。
package com.example;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
これは、実行時にコンソールに「Hello, World!」と出力するmainメソッドを持つ基本的な Java プログラムです。
Java クラスのコンパイル
次に、Java クラスをコンパイルしましょう。ターミナルに戻り、プロジェクトのルートディレクトリに移動します。
cd ~/project
javacコマンドを使用して Java ファイルをコンパイルします。
javac -d . src/com/example/HelloWorld.java
このコマンドは、Java ソースファイルをコンパイルし、パッケージ名に基づいてコンパイルされたクラスファイルを適切なディレクトリ構造に配置します。
これで、~/project/com/example/HelloWorld.classにコンパイルされたクラスファイルが作成されます。以下で確認できます。
ls -l com/example/
出力には、HelloWorld.classファイルが表示されます。
total 4
-rw-r--r-- 1 labex labex 426 [date] HelloWorld.class
マニフェストなしの基本的な JAR ファイルの作成
次に、マニフェストで main クラスを指定せずに JAR ファイルを作成しましょう。これにより、「no main manifest attribute」エラーを再現できます。
jar cf HelloWorld.jar com/
このコマンドは、コンパイルされたクラスファイルを含むHelloWorld.jarという名前の JAR ファイルを作成します。
JAR ファイルの実行を試す
JAR ファイルを作成したので、実行してみましょう。
java -jar HelloWorld.jar
次のエラーメッセージが表示されます。
no main manifest attribute, in HelloWorld.jar
これが、私たちが修正しようとしているエラーです。JAR のマニフェストで main クラスを指定しなかったため、JVM は実行する main クラスを見つけることができません。