部署项目时候,启动Tomcat报错如下:
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/xxxx] 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启动参数配置的问题,我是window系统下以startup.bat脚本启动的tomcat,可以直接在catalina.bat文件中配置:
set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m
或
set JAVA_OPTS=%JAVA_OPTS% -XX:PermSize=256m -XX:MaxPermSize=512m
重启Tomcat即可。
补充:
后续发现还是会出现这个问题,感觉没有改到位,查了下相关资料以及tomcat的log日志,发现是某个jar包报错了,可参考该文章解决这个问题:链接: Tomcat启动报错:java.lang.IllegalStateException
只需要修改tomcat的conf目录下catalina.properties文件,tomcat.util.scan.StandardJarScanFilter.jarsToSkip加上对应报错的jar包,便可解决该问题。