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的主要内容,如果未能解决你的问题,请参考以下文章