jarファイルの差分の内容をVimで確認する

はじめに

なにが理由でjarファイルに差分ができたのかさっと知りたいことがちょこちょこあります。

そんなときのための備忘録メモ。

環境情報

  • OS RHEL7.2
  • vim 7.4.160

検証用の差分jarファイル

今回はこんな感じの差分があるjarファイルで試してみます。(Main2.classの有無が差分)

  • main1.jar
    $ jar tf main1.jar
    META-INF/
    META-INF/MANIFEST.MF
    Main.class
    
  • main2.jar
    $ jar tf main2.jar
    META-INF/
    META-INF/MANIFEST.MF
    Main.class
    Main2.class
    

 

まずdiffコマンドで差分の有無

差分があるjarファイルなんで、当然differとでます。

  • $ diff main1.jar main2.jar
    Binary files main1.jar and main2.jar differ
    

何が差分なんだろう? ということが知りたい場合は

Vim で差分を確認

Vimのバイナリdiffモードで開いてみます。(実際は色付き)

  • $ vim -Rdb main1.jar main2.jar
    ...                           |  ... 
    ...                           |  ... 
    META-INF/                     |  META-INF/
    META-INF/MANIFEST.MF          |  META-INF/MANIFEST.MF
    Main.class                    |  Main.class
    ------------------------------|  Main2.class
    ~                             |  ~ 
    ~                             |  ~ 
    ~                             |  ~ 
    main1.jar                     | main2.jar
    
  • こんな感じで差分見せてくれました。この画面からファイルの中身も見に行けます。便利です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA