亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

java - 關于maven tomcat啟動錯誤

瀏覽:69日期:2024-01-25 15:59:38

問題描述

maven(命令為 clean tomcat7:run)啟動tomcat提示錯誤:org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer

自己認為是版本沖突問題,但是不知道怎么解決。查了下,有人說是pom.xml中servlet jar包部分的<scope/>應該設為provided,但自己確實是這么配置的。下面是pom.xml部分內容:

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

各位有誰遇到過或者對此有個人見解,麻煩給予點撥,謝謝!

----------------------Update-------------------------排錯能力實在有限,還是沒能解決問題。貼一下比較完整的信息吧:

這是啟動時的錯誤信息:

Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer at org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1670) at org.apache.catalina.startup.ContextConfig.getServletContainerInitializers(ContextConfig.java:1652) at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 6 more

根據以上信息我猜測是tomcat本身的api和springframework.web包有沖突(spring版本4.2.4.RELEASE)spring-web含有一個javax.servlet-api的依賴:

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

自己pom.xml配置的servlet是

<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>${servlet-api.version}</version> <!--引用2.5--> <scope>provided</scope></dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>${jsp-api.version}</version> <!--引用2.0--> <scope>provided</scope></dependency>

tomcat使用的是:

<groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <path>/</path> <port>8080</port></configuration>

本來想換tomcat8試試的,但是好像也沒有tomcat8-maven-plugin試過不包含其它jar包也還是如此,所以該如何是好呢?(╥╯^╰╥)

問題解答

回答1:

指定下 Servlet API 的版本試試看:

<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope></dependency><dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope></dependency>回答2:

包沖突了,查看下其他引用的jar包中是否有servlet-api,用exclusion標簽去掉servlet-api

回答3:

應該是 spring 依賴的 servlet api 包跟 tomcat 7 自帶的 servlet jar 包沖突了吧。把有依賴到 servlet api 的pom 都排除掉。可以用 exclusion標簽。

回答4:

1.有可能是與其他的包中有沖突2.我猜你應該用的不是springboot吧,如果是springboot,它本身是包含完整的tomcat的,所以會報錯.記得不錯貌似是會報錯的.

回答5:

java - 關于maven tomcat啟動錯誤你看看是不是有包沖突,intellij是在這里有個按鈕(有問題的好像是紅色的線)eclipse自己百度下,應該差不多,如果有沖突嘗試exclusion排除掉這里有個和你類似的,也是<scope>provided</scope>,但是還是需要exclusionhttp://powertech.iteye.com/bl...

或者把servlet-api換成3.1.0的試試 鏈接描述stackoverflow上有3.0.1這個版本也出現問題的

標簽: java
相關文章:
主站蜘蛛池模板: 国产黄色影片 | 99久久国产综合精品麻豆 | 国产视频日韩 | 国产精品你懂的在线播放调教 | 免费a网| 国产精品好好热在线观看 | 国产精品久久久亚洲 | 亚洲成人一级片 | 91在线国内在线播放老师 | 俄罗斯一级毛片免费播放 | a级亚洲片精品久久久久久久 | 国产一级特黄aa毛片 | 黄色网址免费在线观看 | 久久国产高清一区二区三区 | 欧美日本一道免费一区三区 | 特级免费毛片 | 92看片淫黄大片看国产片 | 国产精品视频免费观看 | 亚洲国产精品综合一区在线 | 国产99高清一区二区 | 黄色草逼 | 国产成人久久久精品毛片 | 亚洲视频一区在线播放 | 日本亚洲黄色片 | 国产精品一区二区三 | 成片免费观看视频在线网 | 女人被狂躁的视频免费一一 | 免费能直接在线观看黄的视频 | 成人亚洲综合 | 国产精品98福利小视频 | 国产欧美日韩不卡在线播放在线 | 国产精品免费看久久久久 | 97精品国产综合久久 | 国产在线不卡一区 | 99热国产这里只有精品99 | 成年看片免费高清观看 | 狠狠干成人 | 黄色片免费播放 | 亚洲最大黄色 | 91久久久久久久 | 国产区免费在线观看 |