J'ai donc besoin de supprimer un fichier d'un fichier jar / war. J'espérais qu'il y avait quelque chose comme "jar -d myjar.jar file_I_donot_need.txt"
Mais pour le moment, la seule façon de le faire à partir de ma ligne de commande Linux (sans utiliser WinRAR / Winzip ou l'équivalent Linux) est de
- Faites "jar -xvf" et extrayez le
fichier Jar complet - Supprimez le (s) fichier (s) dont je n'ai pas besoin
- Rejar le fichier jar en utilisant "jar -cvf"
Veuillez me dire qu'il existe un moyen plus court?
./myscript.sh -d <list of files>
Réponses:
jar n'est qu'un fichier zip après tout. Certainement beaucoup plus rapide que la décompression / recompression.
la source
zip
et dans ce cas, il est important de spécifier le format de fichier:7z d -tzip file.jar dir/unwanted_file.txt
zip -d file.jar unwanted_folder/
En Java, vous pouvez copier toutes les entrées d'un fichier jar à l'exception de celle que vous souhaitez supprimer. c'est-à-dire que vous devez faire une copie, mais vous n'avez pas besoin de créer les fichiers individuels.
Vous pouvez le faire en
la source
Dans le cas où vous souhaitez supprimer un fichier afin d'annuler la signature d'un fichier jar signé, vous pouvez probablement simplement faire en sorte que le fichier .RSA soit de taille zéro. Cela peut être accompli avec juste
jar u
. Voir https://stackoverflow.com/a/24678645/653539 . (A travaillé pour moi, même si j'admets que c'est du hack.)la source