リリース作業のミスを防ぐために、Jarファイルの比較する方法はどうすればよろしのでしょうか。
Jarファイルとは
- コンパイルされた複数のJavaバイトコード及びそれが使用する画像などのリソースを一つにまとめZIP形式で圧縮されたファイル、及びそれを出力するツールのことである。
- 圧縮されたファイルの拡張子には、「.jar」が使われる。
jarファイルはdiffができるのか
JAR は Java ARchive の略です
・JarファイルはZip形式のファイル
・ファイルの作成日付(タイムスタンプ)が異なると中身が全く同じでもアーカイブ後のファイルにはバイナリ差分が発生
jarファイルの整合性の解決策
Jarファイルの中身が同一であることを確かめるには、アーカイブを解凍して内容同士を比較する必要があります。
Bashを使用しているのであればプロセス置換が使用可能なので、簡易的には以下のように作業ディレクトリへ解凍すること無く直に突合することもできます。
diff -qr <( jar -x0f A.jar ) <( jar -x0f B.jar )
jarファイルの中身を見る方法
- jarファイルの中身を見る方法
jar tf [jarファイル名]
- jarファイルの中身一部分を抽出
jar -xvf [jarファイル名] [抽出するファイル名] [ディレクトリ名]
- jarファイルの中身一部分書き込み
jar -uf [jarファイル名] [書き込むファイル名] [ディレクトリ名]
jarファイルを確認するには、Diffが取れるツールあり
拡張子 .jar を、 .zip にして展開(解凍)。
ディレクトリまるごとのファイル内容比較ツールなどで、比較します。
Zipdiffで差分がとれるようだ。Antにも組み込めるしいいねこういうの。
zipdiff - Welcome
まとめ
ご理解いだけましたでしょうか。