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

第一个问题

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

(0)

相关推荐

  • maven搭建spring项目(图文教程)

    开发工具:MyEclipse2014版(jdk1.7)+Maven3.9. 新建Maven项目: Step1: Step2: Step3:这里选maven-archetype-webapp,因为后面的项目讲解都是web项目.如果是纯java项目,可以选择 maven-archetype-quickstart. Step4: Step5:右键项目,build path,修改jdk运行环境. 到这里,maven的web项目初建完毕. 修改:pom.xml <project xmlns="htt

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

    第一个问题 java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer 出现原因主要是 javax.servlet-api 在运行时将spring容器当成了servlet容器出现类型转换错误. 解决方法: 在pom.xml文件中修改 javax.servlet-a

  • springboot启动feign项目报错:Service id not legal hostnam的解决

    目录 springboot启动feign项目报错:Service id not legal hostnam 在feign项目中,定义接口调用服务 启动时报出异常信息 度娘后发现问题所在 配置文件服务名做同样修改 Service id not legal hostname (pin_user) 错误信息 出现原因 解决方案 springboot启动feign项目报错:Service id not legal hostnam 在feign项目中,定义接口调用服务 @FeignClient(name=

  • 解决Docker启动Elasticsearch7.x报错的问题

    使用Docker run 命令 docker run -d -p 9200:9200 -p 9300:9300 --name 用户自定义名字 容器ID 会看到一串字符串,一般情况下我们会误以为它启动成功 我们执行docker ps -a是发现它自动退出了 使用docker logs -f 容器ID 查看日志发现: ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] li

  • 关于maven依赖 ${xxx.version}报错问题

    目录 maven依赖 ${xxx.version}报错 在pom文件加入以下配置即可解决 maven依赖的版本号报错解决(玄学) 玄学解决 maven依赖 ${xxx.version}报错 pom.xml 引入依赖时,版本取<version>${xxx.version}</version>有时会报红, 在pom文件加入以下配置即可解决 <properties> <xxx.version>版本号</xxx.version> </propert

  • 解决Maven 项目报错 java.httpservlet和synchronized使用方法

    使用java8 的lanmbe表达式时,使用java1.8编译,则会报错 需要在pom.xml的<bulid></build>中添加 <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</versi

  • SpringBoot项目报错:"Error starting ApplicationContext...."解决办法

    目录 发现错误 一.编译出问题 二.请求接口重复 三.加@Mapper注解 四.加@SpringBootApplication注解,数据库问题 五.端口重复问题 六.包冲突 总结 发现错误 SpringBoot项目报错: Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 以下方案80%可以帮助您解决这些个‘可恶的’问题

  • Spring Boot报错:No session repository could be auto-configured, check your configuration的解决方法

    本文主要跟大家分享了关于Spring Boot报错:No session repository could be auto-configured, check your configuration的解决方法,下面话不多说,来一起看看详细的介绍: 一.环境介绍 JDK 1.8  spring-Boot 1.5.1.RELEASE, STS IDE 二. 问题的提出 创建了一个非常简约的Spring Boot Web Application,其中使用了Spring-Session,具体的maven依

  • Java SpringBoot整合shiro-spring-boot-starterqi项目报错解决

    目录 1.项目启动时报错如下 2.原因分析 3.测试@ConditionalOnMissingBean注解 1.项目启动时报错如下 Description: The bean 'securityManager', defined in class path resource [org/apache/shiro/spring/config/web/autoconfigure/ShiroWebAutoConfiguration.class], could not be registered. A b

  • android studio 新建项目报错的解决之路

    android studio 新建工程报错 Error:Could not resolve all files for configuration ':app:debugCompileClasspath'. > Could not resolve com.android.support:appcompat-v7:26.0.0-beta1.   Required by:       project :app    > Could not resolve com.android.support:a

  • Maven项目报错:“ SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”的解决方案

    目录 发现错误: 问题分析: 官网给出的解决思路如下: 解决方案: 总结 发现错误: 运行Maven项目时,控制台出现如下图所示的报错信息: 问题分析: 根据报错提示,我们可以知道出错的原因是“加载类文件org.slf4j.impl.StaticLoggerBinder时失败”,而出错的地方主要是在于slf4j的jar包. 官网给出的解决思路如下: This error is reported when the org.slf4j.impl.StaticLoggerBinder class co

随机推荐