解决maven启动Spring项目报错的问题
程序员文章站
2023-12-20 16:51:16
第一个问题
java.lang.classcastexception:
org.springframework.web.springservletcontai...
第一个问题
java.lang.classcastexception: org.springframework.web.springservletcontainerinitializer cannot be cast to javax.servlet.servletcontainerinitializer
出现原因主要是 javax.servlet-api 在运行时将spring容器当成了servlet容器出现类型转换错误。
解决方法:
在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项目中需要被识别,所以会加上一下配置,允许这些静态文件通过,
<resources> <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 --> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource>
但是以上配置修改了默认的resource目录,导致src/main/resources的所有文件都不能被扫描,也就出现了其他在resources目录下的文件不能被扫描的错误,所以需要加上默认的resources 目录配置:
<build> <resources> <!-- 如果不添加此节点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项目报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
解决maven启动Spring项目报错的问题
-
解决eclipse启动时报错Failed to create the Java Virtural Machine.问题的方法
-
解决maven启动Spring项目报错的问题
-
Spring Boot解决项目启动时初始化资源的方法
-
解决MyEclipse下启动项目时JBoss内存溢出的问题
-
Spring Boot解决项目启动时初始化资源的方法
-
解决MyEclipse下启动项目时JBoss内存溢出的问题
-
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
-
Xcode 10升级导致项目报错的常见问题解决
-
Vue项目部署在Spring Boot出现页面空白问题的解决方案