Jadi saya perlu menghapus file dari file jar / war. Saya berharap ada sesuatu seperti "jar -d myjar.jar file_I_donot_need.txt"
Tetapi sekarang satu-satunya cara yang dapat saya lihat untuk melakukan ini dari baris perintah Linux saya (tanpa menggunakan WinRAR / Winzip atau setara linux) adalah dengan
- Lakukan "jar -xvf" dan ekstrak
file Jar lengkap - Hapus file yang tidak saya butuhkan
- Ulangi file jar menggunakan "jar -cvf"
Tolong beritahu saya ada cara yang lebih pendek?
./myscript.sh -d <list of files>
Jawaban:
jar hanyalah file zip. Jelas jauh lebih cepat daripada membuka / mengompresi ulang.
sumber
zip
dan dalam hal ini penting untuk menentukan format file:7z d -tzip file.jar dir/unwanted_file.txt
zip -d file.jar unwanted_folder/
Di Java, Anda dapat menyalin semua entri jar kecuali yang ingin Anda hapus. yaitu Anda harus membuat salinan tetapi tidak perlu membuat file satu per satu.
Anda dapat melakukannya dengan
sumber
Jika Anda ingin menghapus file untuk membatalkan tanda tangan jar, Anda mungkin bisa membuat file .RSA berukuran nol. Ini bisa dicapai dengan adil
jar u
. Lihat https://stackoverflow.com/a/24678645/653539 . (Berhasil untuk saya, meskipun saya akui itu hack.)sumber