So I need to remove a file from a jar / war file. I was hoping there was something like \"jar -d myjar.jar file_I_donot_need.txt\"
But right now the only way I can
zip -d file.jar unwanted_file.txt
jar is just a zip file after all. Definitely much faster than uncompressing/recompressing.
In case you want to delete file in order to unsign signed jar, you can probably just make the .RSA file zero-sized. This can be accomplished with just jar u
. See https://stackoverflow.com/a/24678645/653539 . (Worked for me, though I admit it's hack.)
In Java you can copy all the entries of a jar except the one you want to delete. i.e. you have to make a copy but don't need to create the individual files.
You can do this by