Perintah Linux untuk mengekstrak file perang?

93

Bagaimana cara mengekstrak file .war dengan command prompt Linux?

ammar
sumber

Jawaban:

145

Menggunakan unzip

unzip -c whatever.war META-INF/MANIFEST.MF  

Ini akan mencetak output di terminal.

Dan untuk mengekstrak semua file,

 unzip whatever.war

Menggunakan toples

jar xvf test.war

Catatan! The jarperintah akan ekstrak isinya perang untuk direktori saat ini. Bukan ke subdirektori (seperti yang dilakukan Tomcat).

Jigar Joshi
sumber
11
Saya benar-benar berpikir jarperintahnya lebih baik karena dirancang untuk melakukan hal itu.
extraneon
4
@extraneon Bisakah Anda menjelaskan mengapa jarlebih baik? Mereka sama-sama mengekstrak folder tersebut, jadi mengapa menurut Anda jarlebih baik? Saya tidak menemukan Itu dirancang untuk argumen yang valid.
nuoritoveri
4
@extraneon Baik Itu tergantung pada situasi tertentu: Misalnya dalam hal pemanfaatan cpu unzip jauh lebih baik daripada jar (0,624 CPU vs 1,063 CPU digunakan) migrasi cpu (0 vs 16) Statistik penghitung kinerja untuk 'jar xvf Calendar.war': 325.095182 jam-tugas (msec) # 1.063 CPU menggunakan 16 migrasi-cpu # 0,049 K / detik 3.049 kesalahan halaman # 0,009 M / detik 0,305890466 detik waktu berlalu * Statistik penghitung kinerja untuk 'unzip Calendar.war': 36.900667 task-clock ( msec) # 0.624 CPU menggunakan 0 migrasi-cpu # 0.000 K / dtk 419 kesalahan halaman # 0.011 M / dtk 0.059182220 detik waktu berlalu
Kheshav Sewnundun
1
Dalam perintah unzip, jika kita menggunakan '-c', itu akan mengekstrak file ke stdout / screen ('' CRT ''). Untuk mengekstrak file perang (semua file) jangan gunakan flag c.
Nithyanandhan M
32

Atau

jar xvf myproject.war

Raghuram
sumber
9

File perang hanyalah file zip dengan struktur direktori tertentu. Jadi, Anda dapat menggunakan unzip atau alat jar untuk membuka ritsleting.

Tetapi Anda mungkin tidak ingin melakukan itu. Jika Anda menambahkan file perang ke direktori webapps dari Tomcat, Tomcat akan mengurus ekstraksi / menginstal file perang.

Kdeveloper
sumber
3
Terkadang Tomcat tidak dapat mengekstrak arsip, dan Anda harus melakukannya secara manual. Itu bisa terjadi.
radonys
Dalam hal ini Anda mungkin ingin merestart tomcat, atau menggunakan 'touch <filename>' sehingga Tomcat mulai mengekstrak.
Kdeveloper
Terkadang Weblogic tidak ingin menggunakan perang :)
Yasin Okumuş
2

Anda bisa menggunakan unzipperintah.

tangens
sumber
0

Mengekstrak folder (direktori) tertentu di dalam file perang:

# unzip <war file> '<folder to extract/*>' -d <destination path> 
unzip app##123.war 'some-dir/*' -d extracted/

Anda mendapatkan ./extracted/some-dir/hasilnya.

Nux
sumber