今回は、Jar
コマンドを使用してJAR(Java Archive)
形式のファイルの内容を変更する方法を紹介していきます。
JAR
形式のファイルは、ZIP
形式など圧縮されたファイル形式になります。解凍/圧縮ツールなどを使用して、解凍してJAR
形式ファイルの内容を確認することもできます。
検証環境
検証に使用した環境/ライブラリを次に記載します。
Jar
- バージョン:11.0.9
Jar
コマンドの使用方法の例を紹介するための、検証用ディレクトリ構成を次に記載します。
example.jar
├─com
│ └─fumidzuki
│ ExampleMain1.class
│ ExampleMain2.class
│
└─META-INF
MANIFEST.MF
JARファイルから取得
JAR
ファイルから特定のファイルを取得するためには、次のJar
コマンドを実行します。
jar -xfv JARファイル名 ファイル名、または、ディレクトリ名
指定しているオプションは、次の処理を意味します。
-x
- 指定したファイル、または、ディレクトリを
JAR
ファイルから取得します。指定しない場合は、すべてを取得します。
- 指定したファイル、または、ディレクトリを
-f
JAR
ファイル名を指定するために使用します。
-v
- 標準出力に詳細情報を表示します。
Jar
コマンドでファイル名を指定した、ファイル取得の実行例は、次のようになります。
jar -xfv example.jar com\fumidzuki\ExampleMain1.class
> com/fumidzuki/ExampleMain1.classが展開されました
Jar
コマンドでディレクトリ名を指定した、ファイル取得の実行例は、次のようになります。
jar -xfv example.jar com\fumidzuki\
> com/fumidzuki/ExampleMain1.classが展開されました
> com/fumidzuki/ExampleMain2.classが展開されました
JARファイルの更新
JAR
ファイルの内容を更新するためには、次のJar
コマンドを実行します。
jar -ufv JARファイル名 ファイル名、または、ディレクトリ名
指定しているオプションは、次の処理を意味します。
-u
- 指定したファイル、または、ディレクトリを使用して
JAR
ファイルを更新します。
- 指定したファイル、または、ディレクトリを使用して
-f
JAR
ファイル名を指定するために使用します。
-v
- 標準出力に詳細情報を表示します。
Jar
コマンドでファイルを名を指定した、ファイル更新の実行例は、次のようになります。
jar -ufv example.jar com\fumidzuki\ExampleMain1.class
> com/fumidzuki/ExampleMain1.classを追加中です(入=562)(出=345)(38%収縮されました)
Jar
コマンドでディレクトリ名を指定した、ファイル更新の実行例は、次のようになります。
jar -ufv example.jar com\fumidzuki\
> com/fumidzuki/ExampleMain1.classを追加中です(入=562)(出=345)(38%収縮されました)
> com/fumidzuki/ExampleMain2.classを追加中です(入=562)(出=346)(38%収縮されました)
> com/fumidzuki/を追加中です(入=0)(出=0)(0%格納されました)
まとめ
Jar
コマンドを使用して、JAR
形式ファイルの内容の取得と更新する方法を紹介しました。
参考情報
Jar
コマンドについては、次の公式サイトで詳細を確認することができます。