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



