解決maven啟動Spring項目報錯的問題
第一個問題
java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer
出現(xiàn)原因主要是 javax.servlet-api 在運行時將spring容器當(dāng)成了servlet容器出現(xiàn)類型轉(zhuǎn)換錯誤。
解決方法:
在pom.xml文件中修改 javax.servlet-api 的作用域為provided
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency>
第二個問題:
Could not resolve bean definition resource pattern [classpath:spring/applicationContext-*.xml]
在SSM項目中,由于有 mapper映射文件和一些其他的配置文件,在maven項目中需要被識別,所以會加上一下配置,允許這些靜態(tài)文件通過,
<resources>
<!-- 如果不添加此節(jié)點mybatis的mapper.xml文件都會被漏掉。 -->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
但是以上配置修改了默認(rèn)的resource目錄,導(dǎo)致src/main/resources的所有文件都不能被掃描,也就出現(xiàn)了其他在resources目錄下的文件不能被掃描的錯誤,所以需要加上默認(rèn)的resources 目錄配置:
<build>
<resources>
<!-- 如果不添加此節(jié)點mybatis的mapper.xml文件都會被漏掉。 -->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
以上這篇解決maven啟動Spring項目報錯的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Springboot項目打包后的頁面丟失問題(thymeleaf報錯)
這篇文章主要介紹了解決Springboot項目打包后的頁面丟失問題(thymeleaf報錯),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作
這篇文章主要介紹了創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
springboot整合ACTable生成數(shù)據(jù)庫表方式
ACTable是一個增強Mybatis的功能框架,支持SpringBoot和SpringMvc項目,通過配置model注解即可創(chuàng)建、修改表結(jié)構(gòu),并實現(xiàn)了共通的CRUD功能2025-02-02

