设为首页 收藏本站
查看: 1006|回复: 0

[经验分享] Maven使用tomcat7-maven

[复制链接]

尚未签到

发表于 2017-12-25 09:04:05 | 显示全部楼层 |阅读模式
  错误如下:
  A child container failed during start
  java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext
  还有一种错误是:
  org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer
DSC0000.png

  可以尝试以下方法:
  1、可能引入的servlet版本太高了,比如3.1版本的与Tomcat7插件兼容,可以尝试降级3.0.1。可以参照官方表格进行引入:http://tomcat.apache.org/whichversion.html
  2、可能是web.xml的头部版本太高了,可以尝试修改成:****http://java.sun.com/xml/ns/javaee/" version="2.5"> ****或者2.4这样的。
  3、但是观察上面报错的原因,问题出现在:org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer,也就是servlet-api.jar包冲突了导致的。可以尝试排除commons-logging.jar包,因为commons-logging中引入了2.3的servlet-api.jar。
  

    <dependency>  
<groupId>org.springframework</groupId>
  
<artifactId>spring-core</artifactId>
  
<version>4.1.4.RELEASE</version>
  
<exclusions>
  
<exclusion>
  
<groupId>commons-logging</groupId>
  
<artifactId>commons-logging</artifactId>
  
</exclusion>
  
</exclusions>
  
</dependency>
  

  但这种方式不一定有效。
  也就是围绕包冲突的线索去找一下,参考依赖书去查看是否有冲突的包导致的。
  4、尝试把scope加上provided,也就是作用域改成编译时使用,而打包不需要带上:
  

    <dependency>  
<groupId>javax.servlet</groupId>
  
<artifactId>javax.servlet-api</artifactId>
  
<version>3.1.0</version>
  
<scope>provided</scope>
  
</dependency>
  

  5、可以尝试一下把POM上的servlet-api删除,然后在Eclipse的Build Path中加入servlet-api,但这种治标不治本。
  6、尝试使用以下的servlet-api:
  

<dependency>  
<groupId>org.apache.tomcat</groupId>
  
<artifactId>tomcat-servlet-api</artifactId>
  
<version>7.0.76</version>
  
<scope>provided</scope>
  
</dependency>
  

  7、经过测试,发觉同一份代码在Mac上正常使用,而在Windows上却出现这样的错误,两台电脑唯一不同的是JDK和Maven的版本,接下来尝试将Windows上的Maven升级到最新版本。意外竟然启动成功了
  由于使用的是Windows 10系统,可能JDK版本的问题导致的,先删除旧版的JDK和Maven以及Maven本地仓库,下载最新版本的JDK_1.8.0_131和Maven3.5。安装配置路径参考:http://www.cnblogs.com/EasonJim/p/6821717.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-427730-1-1.html 上篇帖子: Linux下httpd服务与Apache服务的查看和启动 下篇帖子: NullPointerException org.apache.commons.digester.Digester.getXMLReader(Digester.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表