org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component解决

今天刚刚学了SpringMVC,出现了这个问题,来解决一下。

这个问题就是因为JDK版本和Spring的版本冲突导致的。

我使用的是JDK17,版本比较高,需要相应的包进行支持。

直接上依赖吧。

最终我使用的就是下面两个。使用这两个可以说跑起来没有什么问题,如果更改不适当可能仅仅只能解决我文章标题的问题,接着又出现其它的问题。比如java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet,如果出现这个问题就看看下面那个依赖的问题,改改总能搞定的。

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>5.3.23</version>
</dependency>

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>4.0.1</version>
  <scope>provided</scope>
</dependency>

同样还需要注意的是Tomcat的版本。我使用的是Tomcat9,之前也用过7、8、10,但最终还是选择了9。Tomcat版本最好也多注意一下,说不定什么时候就给你冒出个奇奇怪怪的问题。

然后附上一下相应包的对应版本:

Spring:

地址:https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions

Servlet:

地址:https://tomcat.apache.org/whichversion.html

按照上面的图中的版本对应关系更改自己的,最后应该都是能够成功的。如果报错的时候是一些奇奇怪怪的问题,不妨先考虑一下自己的版本有没有问题。

最后再附上一下maven中央仓库的地址,也许能用上。

地址:https://mvnrepository.com/

猜你喜欢

转载自blog.csdn.net/XFIRR/article/details/128663741