tomcat启动时错误:Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/omkwt] 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]
解决办法 一:
进入tomcat的安装目录进行清理缓存,找到work文件夹。
此文件下有个catalina目录(tomcat小名叫catalina),work目录下的文件都可以删除。
work目录下有一个catalina目录。删除work中的tomcat目录后,缓存已经删除。
解决办法 二:
看到后面的错误信息
org.bouncycastle.asn1.ASN1EncodableVector 是出在这个类上,
这是因为tomcat启动会去扫描jar,这个类是出现在 bcprov .jar这个包。所以在tomcat的conf目录里面 catalina.properties的文件中
在 tomcat.util.scan.StandardJarScanFilter.jarsToSkip=里面加上bcprov.jar过滤启动不会报错了
具体如下:
这是因为tomcat启动会去扫描jar,这个类是出现在 bcprov .jar这个包。所以在tomcat的conf目录里面 catalina.properties的文件中
在 tomcat.util.scan.StandardJarScanFilter.jarsToSkip=里面加上bcprov.jar过滤启动不会报错了
具体如下:


可能还有其他更有效的方法,博主知道的都提供在这里了,希望对大家有所帮助。