当前位置: 移动技术网 > IT编程>开发语言>Java > 解决maven启动Spring项目报错的问题

解决maven启动Spring项目报错的问题

2019年07月19日  | 移动技术网IT编程  | 我要评论

亚冠16强对阵,天才小捣蛋国语,汤灿 许宗衡

第一个问题

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项目报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网