マニフェストを指定したJARファイル作成
JAR ファイルの基本的な作成方法については、「JAR ファイルの作成」で説明しました。
ここでは JAR マニフェストとソースコード *.java があるときに、 JAR ファイルを作成する方法について説明します。
ソースコードは「最小限の JavaFX アプリケーション」のものです。 コードの内容に付いてはそちらを参考にしてください。
JAR ファイルを作成する準備
まず、現在のディレクトリ以下の構成は次のようになっているとします。
$ tree . ├── com │ └── keicode │ └── java │ └── testapps ├── Manifest.txt └── src └── com └── keicode └── java └── testapps └── MinFx1.java 9 directories, 2 files
tree コマンドは、ディレクトリの階層構造をツリー表示するための Linux でのコマンドです。 Windows でも使えますが、上記とは少し表示が違います。Windows ではファイル名も表示するためには /F オプションを指定します。
tree /F
MacOS では Homebrew を利用してインストールすることができます。
brew install tree
src というディレクトリ以下にソースコードが保存されていて、 com/keicode/java/testapps 以下に *.class ファイルを保存します。
MinFx1.java は次の内容です。
package com.keicode.java.testapps;
import javafx.application.Application;
import javafx.stage.Stage;
public class MinFx1 extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.show();
}
}
マニフェスト Manifest.txt は次の通りです。
Manifest-Version: 1.0 Class-Path: . Main-Class: com.keicode.java.testapps.MinFx1
準備は以上です。それではソースコードをコンパイルして JAR ファイルを作成しましょう。
JAR マニフェストを指定して JAR ファイルを作成
次のコマンドでソースコード MinFx1.java をコンパイルします。
javac -d . ./src/com/keicode/java/testapps/MinFx1.java
javac はデフォルトでソースコード *.java と同じ場所にクラスファイル *.class を作成します。
今回は、より現実的な例として、クラスファイルをパッケージディレクトリ以下に生成するので、 -d オプションで生成先のディレクトリを指定しています。今回の場合は現在のディレクトリをドット . で指定しています。
成功すれば、MinFx1.class が作成されるはずです。
$ tree . ├── com │ └── keicode │ └── java │ └── testapps │ └── MinFx1.class # クラスファイルが作成された ├── Manifest.txt └── src └── com └── keicode └── java └── testapps └── MinFx1.java 9 directories, 3 files
マニフェストを指定して JAR ファイルを作成します。jar コマンドの cfm オプションを指定しています。
jar cfm MinFx1.jar Manifest.txt ./com/keicode/java/testapps/MinFx1.class
成功すれば MinFx1.jar が生成されます。
これは次のコマンドで実行できるはずです。
java -jar MinFx1.jar
次の画面のように空っぽのウィンドウが表示されれば成功です。
ここで使ったソースコード内には main メソッドがありませんが、JavaFX アプリケーションとしてはこれで動作します。
以上、マニフェストを指定して jar ファイルを作成する簡単な例を示しました。