springBoot项目替换lib下的依赖jar包 Unable to open nested entry 'BO

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springBoot项目替换lib下的依赖jar包 Unable to open nested entry 'BO相关的知识,希望对你有一定的参考价值。

参考技术A 问题:

springboot项目在使用压缩软件替换lib下的依赖包后,启动报错,报错内容如下:

原因:

替换或者导入jar包时,jar包被自动压缩,springboot规定嵌套的jar包不能在被压缩的情况下存储。

解决(本文以升级ojdbc包为例):

使用jar命令解压jar包,在压缩包外重新替换jar包,在进行压缩。

步骤1:解压jar包 jar -xvf *.jar

步骤2:替换jar包

步骤3:重新压缩jar

SpringBoot项目替换内部的依赖jar包

注意: 不能用winrar或7zip等普通解压软件鼠标拖入直接替换, 否则启动报错: 
Caused by: java.lang.IllegalStateException: Unable to open nested entry \'BOOT-INF/lib/**.jar\'. 
It has been compressed and nested jar files must be stored without compression. (嵌套的jar必须直接存储, 而不能压缩)
Please check the mechanism used to create your executable jar file
解决方法1: jar命令解压, 替换后进行压缩(参考: https://www.cnblogs.com/zhjh256/p/10986920.html) jar -xvf ./*.jar jar -cfM0 *.jar ./ 解决方法2: winrar或7zip添加文件的时候, 将选择压缩方式由"标准"改为存储(Store) (参考: https://www.jianshu.com/p/9df4a0bb46be)

 

 

 

以上是关于springBoot项目替换lib下的依赖jar包 Unable to open nested entry 'BO的主要内容,如果未能解决你的问题,请参考以下文章

Springboot项目打包引入lib目录下jar包

springboot打包依赖包和配置文件分离

解决maven打包打不进lib下的第三方jar包问题

Spring boot如何引入本地jar包?

springboot项目打包优化(迁移第三方依赖jar配置文件到项目jar外)

springboot项目打包优化(迁移第三方依赖jar配置文件到项目jar外)