解决maven启动Spring项目报错的问题
时间:2021-08-20 10:05:25|栏目:JAVA代码|点击: 次
第一个问题
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>
栏 目:JAVA代码
本文地址:http://www.codeinn.net/misctech/168486.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




