问题一: 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.startup.ContextConfig.processServletContainerInitializers 无法检测到上下文名称为[/TestSpringMVC_war]的ServletContainerInitializers
问题现象:
浏览器未跳出localhost
idea报错如下:
问题分析:
后续才发现这是tomcat无法检查到war包,那说明tomcat打包打错了,所以需要重新去改tomcat的打包格式。
问题解决:
tomcat 打包如下即可解决问题:
问题二:Handler dispatch failed: java.lang.NoSuchMethodError: 'boolean org.springframework.util.MimeType.isMoreSpecific(org.springframework.util.MimeType)'
问题现象:
问题分析:
网上查了才知道这个报错的意思是:当应用程序试图调用类(静态或实例)的指定方法,而该类已不再具有该方法的定义时,就会抛出 java.lang.NoSuchMethodError 错误。简单地说,就是同一个 Class 有多个版本的实现,并且在运行时调用了缺少方法的那个版本。所以第一时间怀疑是不是我们的maven的jar包冲突。
问题解决:
果然,这不看不知道,一看吓一跳,直接三个冲突,原来是之前部署spring的测试项目时,忘记删除掉spring的pom依赖配置。删除后只留了,jakarta和spring-webmvc就解决问题了。
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.0.11</version>
</dependency>