2011年1月17日月曜日

jarファイルの中身を入れ替える。


-------------------------------------------------------------------------------
jar -uvf abc.main.jar -C abc.def zzz\sample.class -C abc.ghi yyy\sample.xml
-------------------------------------------------------------------------------
これでjarを解凍しなくても入れ替え可能
-Cはディレクトリを変更しますという設定。
別フォルダにあるファイルを差し替える場合につけます。
階層に気をつけないと変なところにコピーされます。


2 件のコメント:

  1. 質問させてください。

    jar -uvf abc.main.jar -C abc.def zzz\sample.class -C abc.ghi yyy\sample.xml


    これは、以下のコマンドと同じ意味になるのでしょうか?

    jar -uvf abc.main.jar -C abc.def.zzz sample.class -C abc.ghi.yyy sample.xml

    返信削除
  2. 一部記載が誤っていました。申し訳ありません。

    -C abc.def zzz\sample.class
    の「abc.def」の部分はコピー元ディレクトリの指定になるので「abc\def」になります。
    ※例の場合、相対パスで指定しています。

    その上でのご説明ですが、
    ①-C abc\def zzz\sample.class
    の場合、abc\def\zzz\sample.classをjarのzzzというパッケージにコピーするという意味になっています。
    (コピー後のjarの中身)
    └zzz
    └sample.class

    ②-C abc\def\zzz sample.class
    の場合ですと、abc\def\zzz\sample.classをjarのルートパッケージにコピーするという意味になるので結果が異なってきます。
    (コピー後のjarの中身)
    └sample.class

    返信削除