报错--》due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illega

报错-->due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies

1、详细信息

Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/quSuperManager] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector]

2、分析

网上说,是因为tomcat启动时检测到循环继承而栈溢出的问题造成的。

说ASN1EncodableVector和DEREncodableVector的bcprov jar包下产生了循环继承,所以形成死循环,造成内存溢出。网上大部分方法是在tomcat配置文件中加入不扫描这个包的策略。
然而我通过idea全局搜索bcprov,发现是引用了两个不同版本的包引起的。
在这里插入图片描述
同时观察
在这里插入图片描述
问题就出在这里一个继承一个没有继承吧。具体问么产生的想不出来,问题应该就是这里。

可以总结出版本不同可能产生这个问题,不同jar包依赖同一jar包也可能产生问题。问题归根是jar版本冲突。

3、解决

版本出现问题,要么排除,要么改成同一版本,这里是直接就导入的,显然直接改版本来得快。
在这里插入图片描述
最后改为高版本的,因为一般高版本都会兼容一下低版本。自此问题解决。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值