はじめに
この実験では、Ubuntu システム上で Java で JAR ファイルを作成して実行する方法を学びます。JAR は Java Archive の略です。JAR ファイルには、圧縮された Java プロジェクト ファイルが含まれており、それには.class ファイルやプロジェクトに必要なその他のメタデータとリソースが含まれます。コマンド ラインから JAR ファイルを作成して実行する方法について説明します。
この実験では、Ubuntu システム上で Java で JAR ファイルを作成して実行する方法を学びます。JAR は Java Archive の略です。JAR ファイルには、圧縮された Java プロジェクト ファイルが含まれており、それには.class ファイルやプロジェクトに必要なその他のメタデータとリソースが含まれます。コマンド ラインから JAR ファイルを作成して実行する方法について説明します。
この手順では、~/project
ディレクトリに HelloWorld.java
という名前の Java ファイルを作成します。HelloWorld.java
の内容は次のようになります。
public class HelloWorld
{
public static void main(String args[])
{
System.out.print("\n\nHello World\n\n");
}
}
このファイルを使って、後の実験で実行するための JAR ファイルを作成します。
この手順では、次の javac
コマンドを使って HelloWorld.java
ファイルをコンパイルします。
javac ~/project/HelloWorld.java
この手順では、実行可能な JAR ファイルを作成します。実行可能な JAR ファイルにはマニフェスト ファイルが含まれていますが、非実行可能な JAR ファイルには含まれていません。このマニフェスト ファイルには、JAR を実行したときに実行するクラスの名前が含まれています。Ubuntu システムでは、このマニフェスト ファイルを使って実行可能な JAR ファイルを次のように作成できます。
~/project
ディレクトリに ManifestFile.txt
という名前のファイルを作成し、次の内容をファイルに追加します。Main-Class: HelloWorld
jar -cfm ~/project/HelloWorld.jar ~/project/ManifestFile.txt ~/project/HelloWorld.class
-c
フラグはアーカイブ ファイルを作成するために使用されます。-f
フラグはファイル名を指定するために使用されます。-m
フラグはマニフェスト ファイルの内容を含めるために使用されます。この手順では、非実行可能な JAR ファイルを作成する方法を学びます。-m
フラグを除外します。コマンドにマニフェスト ファイルの名前を渡す必要はありません。次のコマンドを使って非実行可能な JAR ファイルを作成できます。
jar -cf ~/project/HelloWorldNonExec.jar ~/project/HelloWorld.class
この手順では、ステップ 3 で作成した実行可能な JAR ファイルを実行する方法を学びます。次のコマンドを使って実行できます。
java -jar ~/project/HelloWorld.jar
このコマンドの出力は次のようになります。
Hello World
この手順では、ステップ 4 で作成した非実行可能な JAR ファイルを実行する方法を学びます。次のコマンドを使って実行できます。
java -cp ~/project/HelloWorldNonExec.jar HelloWorld
このコマンドの出力は次のようになります。
Hello World
この手順では、JAR ファイルを実行する際にコマンド ライン引数を渡す方法を学びます。
~/project
ディレクトリに次のコードを持つ新しい Java クラス CommandLineArgs.java
を作成します。
public class CommandLineArgs {
public static void main(String args[]) {
for (String s : args) {
System.out.println(s);
}
}
}
CommandLineArgs.java
をコンパイルします。
javac ~/project/CommandLineArgs.java
実行可能な JAR ファイルを作成します。
jar -cfm ~/project/CommandLineArgs.jar ~/project/ManifestFile.txt ~/project/CommandLineArgs.class
3 つのコマンド ライン引数を渡すために次のコマンドを実行します。
java -jar ~/project/CommandLineArgs.jar "Welcome " "Back " User
このコマンドの出力は次のようになります。
Welcome
Back
User
おめでとうございます!コマンド ラインから JAR ファイルを実行する実験を完了しました。技術力を向上させるために、LabEx でさらに多くの実験を行って練習してください。