背景
打部署jar包后,使用winwar解压工具,修改了里面的配置文件,和lib里面的一个引用包的配置文件,报这个错:
Unable to open nested entry 'BOOT-INF/lib/**.jar'. It has been compressed
错误原因
这是说这个jar包访问失败,错误原因是,使用winrar或者7zip解压工具,点开后修改lib内的第二层jar包,修改后重新保存的时候,对lib内的jar包进行了重复压缩,所以访问不到。
解决方案
windows:
Windows有2种解决方案:
解决方案一
使用WinRAR打开,将刚刚修改,被重复压缩报错的那个lib内的jar包挪出来,使用 WinRAR的功能添加-》文件-》不压缩直接存储的文件,填写lib包的本地路径,把lib包重新添加进去,
解决方案二
将jar包文件后缀手动改成rar,解压,然后重新压缩成rar,将结尾后缀改成jar,重新运行。
linux:
linux的思路和windows的方案2一样,都是解压之后重新打包。
linux解压:
jar -xf xxx.jar
解压jar包之后,找到里面的lib包,找到那个有问题的jar包,把那个jar包再解压一次,然后再压缩回去。
linux重新压缩:
jar -cfM0 ./
后面的 ./ 是要压缩的文件夹路径