加载中…
个人资料
李禅
李禅
  • 博客等级:
  • 博客积分:0
  • 博客访问:6,343
  • 关注人气:26
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

tomcat7启动时报错:Possiblerootcausesincludeatoolowsettingfor-Xss

(2018-06-29 09:50:42)
        具体报错的内容如下,Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [] 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.ASN1EncodableVe
ctor]
最近公司在用tomcat7,然后启动项目的时候经常出现这个错,早上就找了下解决方案。具体原因是tomcat7启动去扫描jar包时,加载到bcprov*.jar这些包,而线程在加载bcprov*.jar这些包的过程中,占用的内存超过了默认的512k(默认如果没有配置-Xss参数的话是512k,tomcat6的时候好像是128k)。所以才会抛出内存溢出。解决办法有两种:
1、把tomcat的conf目录里面catalina.properties的文件,

在tomcat.util.scan.DefaultJarScanner.jarsToSkip=里面加上bcprov*.jar过滤(这里tomcat下的这个文件里面默认有很多的忽略加载的jar包。只要把bcprov*.jar加到最后就行,或者狠一点直接在tomcat.util.scan.DefaultJarScanner.jarsToSkip的最后面加  ,* 不允许扫描所有的jar)

2、升级tomcat7以上的版本

3、如果设置了jar包忽略还是不行,可以试试设置VM参数,适当加大-Xss的值

参考:https://blog.csdn.net/lb89012784/article/details/50820118

http://qingyuexiao.iteye.com/blog/1886059

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有