2013-04-05 13 views
47

jarコマンドラインユーティリティを使用して、指定したディレクトリに自分のjarファイルの1つを取り出したいとしました。指定されたディレクトリへのjarの抽出

私はこの権利を理解していれば-Cオプションはトリックすることではなく、私は

jar xvf myJar.jar -C ./directoryToExtractTo 

をしようとしたとき、私は私のjarユーティリティから使用情報を取得していますので、私は何か間違ったことをやっている必要があります。

は、私がjarで達成できる場合、または私は手動で私のjarファイルを移動し、そこにそれがこれを行うには良いでしょう

jar xvf myJar.jar 
+3

「-C」はファイルを追加するためのものだと思います。 –

+0

多分、私は出力ディレクトリを指定することも考えていました。 – Andna

答えて

40

を起動する必要がありますものです。あなたは

あなたが任意のunzipユーティリティを使用することができますので、ZIP圧縮を使用

jar -xvf 'Path_to_ur_Jar_file' 
+6

私はこれを行うことができ、私はこれを行うことができることに同意する、私はちょうど私が-Cオプションを誤解したかどうかを知りたいと思っていた。 – Andna

+0

"jar xf"でターゲットの場所を指定する唯一の方法かもしれません。 –

+0

それは私にエラーを与えます: "認識できないオプション-xvf – Rushi

40

瓶のコマンドを使用する必要がフォルダ構造に

移動します。

例:

$ unzip myJar.jar -d ./directoryToExtractTo

+15

'unjip myJar.jar -d out-directory 'for Xubuntu 12.04.1 –

+1

私は過去にjarを作るためにzipを使って問題を抱えていましたが(jarコマンドと同じではありません)、解凍することはできません。 jarコマンドを使用して賛成です – Ring

+0

gunzipはjarファイルに複数のエントリがあると文句を言います – Almo

8

jarコマンド自体で利用できるようなオプションはありません。 the documentation

-C dir次のinputfiles引数を処理しているときに、jarコマンドの実行中に一時的にディレクトリ(cd dir)を変更します。 その操作は、UNIX tarユーティリティの-Cオプションと似ています。たとえば、jar uf foo.jar -C classes bar.classはclassesディレクトリに を変更し、そのディレクトリのbar.classを foo.jarに追加します。次のコマンドは、jar uf foo.jar -Cクラスです。 -C bin xyz.classがclassesディレクトリに変更され、foo.jarにclassesディレクトリ内のファイル (すべてjarファイルにクラス ディレクトリは作成されません)が追加され、元の ディレクトリに戻ります。 binディレクトリーにxyz.classを foo.jarに追加します。クラスは、ファイルのBAR1とBAR2を保持している場合は、ここで jarファイルは、ジャーのtf foo.jarをを使用して含まれているものです:META-INF/

META-INF/MANIFEST.MF

BAR1

BAR2

xyz.class

-1

これは私のために働いた。

フォルダを作成した後、コマンドプロンプトからCDオプションを使用してフォルダに変更しました。

その後、そこから瓶を実行しました。

d:\LS\afterchange>jar xvf ..\mywar.war 
関連する問題