2011-12-11 9 views
7

私はmyfile.jarと呼ばれる.jarファイルを持っています。このjarファイルの中にはimagesというフォルダがあります。 imagesというこのフォルダの中に、hi.pngというイメージがあります。そのイメージの新しいバージョンでそのイメージを更新したいと思っています。これはhi.pngとも呼ばれます。私は、単一のjarファイルからすべてのファイルを抽出し、それらを再パッケージ化する必要はありません。イメージを更新したいだけです。だから、私は数行のコードを入力し、いつものようにラインを命令するために行く、そして私は、このコマンドを実行します。私はそのコマンドで行うことを望んで何jarファイル全体を再パッケージ化せずにjarファイル内の1つのファイルを更新するにはどうすればよいですか?

jar uf myfile.jar -C images hi.png 

は新しいと古いhi.pngを交換しましたhi.png。しかし、それは私にこのエラーを与える:

images\hi.png : no such file or directory 

私はこれを修正するために何をしますか?

追加情報:私はWinRARのようなものを使用することはできません、私は、コマンドラインでこれを行う必要があります。

+0

**のjar **ファイルを使用することができます[ジップツール](http://linux.about.com/も**ジップ**ファイルなので、機能が満載od/commands/l/blcmdl1_zip.htm)を操作することができます。あなたがWindows以外のものを使用している場合は、すでにインストールされているはずです。 (私はMacOSはそれを持っていると思いますが、私は確認できません) – FakeRainBrigand

+0

あなたのデザインはここにはっきりしていませんが、7Zipは素晴らしいコマンドラインをサポートしています。ちょうど注意してください、瓶の仕様は、ジップの正確なタイプについては不安です。第二に、これがWebベースの場合は、おそらく拡張Jarを使用できます。そして...もしそれがウェブベースではないなら(単一のクライアント)なぜイメージを./images/hi.pngからロードしないのですか? TL; DR;ファイルシステムを交換する場合は、ファイルシステムを使用するのが簡単な方法です。 –

+0

あなたはどのディレクトリにいますか(そしてあなたのcwdに相対的な画像とhi.pngはどこですか)? –

答えて

19

-Cは、ローカルディレクトリを変更され、そしてそこhi.pngを探しています。それをJARファイルに挿入しようとしている場所を制御していません。

imagesあなたの現在の作業ディレクトリの子ディレクトリを作り、私はそれにあなたの地元の hi.pngを動かし、 imagesと呼ばれる新しいディレクトリを作成しようとするだろう

、そしてちょうどこれを実行します。

jar uf myfile.jar images\hi.png 
+0

それでもエラー画像\ hi.png:そのようなファイルやディレクトリはありません –

+1

images/hi.pngも試してください。 – joev

+0

私はこれを実際にテストしましたが、期待どおりに動作しています。作業ディレクトリが "images"を含むディレクトリであることを確認してください。ディレクトリ構造と試行しているコマンドを示すコマンドプロンプトのエクスポートを表示できますか? – ziesemer

2

編集したい場合テキストファイルの場合は、vimで直接行うことができます。

行うための最も簡単な方法は、7-ZIPソフトウェアを使用している

vim my.jar

+0

.jarファイルはテキストファイルではありません。 – EJP

5

を(例えばyum install -y unzip CentOSの上、ご利用可能unzipを持っていると仮定)。

  1. 編集ファイルの場合:

    • オープンjarファイル7-ZIP |オープンアーカイブ
    • ファイルに移動します。 /Meta-Inf/xyz.conf
    • マウスを右クリックして、オプション
    • 編集ファイル「内部オープン」を選択し、ファイル
    • を保存7-ZIPコンソールを閉じて、それが行われています。
  2. ファイルの追加/置換/削除。

    • 目的のフォルダに到達するまで、最初の2つの手順を実行します。
    • 取り外し:追加ファイル
    • 削除:ドラッグおよび7-ZIPコンソールにファイルをドロップ。
    • コンソールを終了すると完了です。
1

あなたはjar -uf sample.jar [path in jar file]target-file

関連する問題