由qiniu引发的java.lang.VerifyError: Bad type on operand stack

项目中用到了七牛云存储,之前打包部署一直很正常,昨天准备放一版新的上去,结果部署过程没有报错,登录的时候就会报:

javax.servlet.ServletException: Servlet.init() for servlet springServlet threw exception 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1255) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1174) 
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:847) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:748) 
Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:

Reason:
Type 'com/qiniu/common/Zone' (current frame, stack[2]) is not assignable to 'com/qiniu/common/Region'
Current Frame:
bci: @54
flags: { }

Bytecode:
0x0000000: 2cc6 000c 2c12 42b6 0043 9900 0612 44b0
0x0000010: 2ab4 0003 2cb6 0004 4e2d b600 45c7 0006
0x0000020: 1246 b02b b600 473a 042b b600 483a 05bb
0x0000030: 0049 59b8 004a b700 4b3a 06bb 004c 5919
0x0000040: 06b7 004d 3a07 124e 3a08 124f 3a09 1250
0x0000050: 3a0a bb00 1b59 b700 1c12 51b6 001e b800
0x0000060: 52b6 001e 1253 b600 1eb6 0022 3a0b 1908
0x0000070: 1909 b800 543a 0c19 0c19 0ab6 0055 3a0d
0x0000080: 1907 1905 190b 190d b600 563a 0ebb 0057
0x0000090: 59b7 0058 190e b600 5912 5ab6 005b c000
0x00000a0: 5a3a 0f2d bb00 1b59 b700 1c12 5cb6 001e
0x00000b0: 190f b400 5db6 001e b600 22b6 005e 2d19
0x00000c0: 0fb4 005f b600 602d bb00 6159 b700 62b6
0x00000d0: 0063 2ab4 0003 2db6 0015 b200 6419 0fb4

于是进行了原因查找,开始有人说是:

项目中使用的jedis版本为

<jedis.version>2.1.0</jedis.version>

在参考国内一篇文章:https://www.cnblogs.com/tv151579/p/6139646.html;

https://stackoverflow.com/questions/22704518/jedispoolconfig-is-not-assignable-to-genericobjectpoolconfig

和他的解决方案后,将jedis.version改为2.4.2,重新运行项目,可以正常启动了
---------------------
作者:dazhong2012
来源:CSDN
原文:https://blog.csdn.net/dazhong2012/article/details/80178663
jedis版本问题

后来七牛那边的客服给了回复:

您好,这个是由于七牛这边升级了最新的7.2.19的sdk,如果不指定version,maven会依赖最新的jar

最新的jar 废了 zone,全部使用 Region,会有冲突

所以在pom文件中把版本号改为

7.2.18

重新打包部署,一切顺利!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值