Maven tomcat7 plugin 启动异常 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/]]

原创
2017/09/22 10:55
阅读数 2.1K

tomcat

引子

本人之前基于 maven + jdk6 + tomcat6 创建了一套 SSM 基础项目,一直都正常使用。由于环境需要,改成了 maven + jdk8 + tomcat7 环境。

当代码未被改动的时候,项目可以正常启动,而改动代码后,maven会自动编译,再启动的时候,就会报如下的错误信息:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    ...
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/app] 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]
    at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2179)
    ...

搜索问题原因

经过多番google搜索,终于找到错误原因,是由于其中一个加密相关的 jar - org.bouncycastle.bcpkix-jdk15on 不兼容导致(原文链接:https://stackoverflow.com/questions/17584495/unable-to-complete-the-scan-for-annotations-for-web-application-app-due-to-a)

解决方案

原配置

        <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                 <version>1.52</version>
        </dependency>

改成

        <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk16</artifactId>
                <version>1.46</version>
        </dependency>

My Blog

blog.guijianpan.com

技术交流

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部