有没有快速的方法从Jar/war中删除文件而无需提取jar并重新创建它?

kel*_*yfj 98 java linux jar

所以我需要从jar/war文件中删除一个文件.我希望有类似"jar -d myjar.jar file_I_donot_need.txt"的内容

但是现在我从Linux命令行(不使用WinRAR/Winzip或Linux等价物)看到这样做的唯一方法就是

  • 做"jar -xvf"并解压缩
    完整的Jar文件
  • 删除我不需要的文件
  • 使用"jar -cvf"重新启动jar文件

请告诉我有一个较短的方法?

mar*_*ona 189

zip -d file.jar unwanted_file.txt
Run Code Online (Sandbox Code Playgroud)

jar毕竟只是一个zip文件.绝对比解压缩/重新压缩快得多.

  • 如果你想删除jar中的文件夹,请确保在不需要的文件夹上有一个斜杠:`zip -d file.jar unwanted_folder /` (4认同)
  • 我经常安装p7zip而不是`zip`,在这种情况下,指定文件格式很重要:`7z d -tzip file.jar dir/unwanted_file.txt` (3认同)