After upgrading spring version getting java.lang.NoClassDefFoundError:
After upgrading spring version getting java.lang.NoClassDefFoundError:
我正在尝试将我们拥有的多个项目中的 spring 从 2.1.1 升级到 2.2.0。
我已经在几个项目中完成了,一切都很顺利。
在当前项目中,我做了同样的修改:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/>
</parent>
<properties>
<spring-cloud.version>Hoxton.RELEASE</spring-cloud.version>
<spring.boot.version>2.2.0.RELEASE</spring.boot.version>
...
...
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
</dependency>
.....
.....
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
...
</dependencies>
现在,当我尝试启动我的应用程序时,出现以下错误:
Caused by: java.lang.NoClassDefFoundError: org/springframework/core/annotation/MergedAnnotations$SearchStrategy
我检查过,根据文档,这个 class 应该在我当前的 spring-core 版本中可用:
https://docs.spring.io/spring/docs/5.2.0.RELEASE/javadoc-api/org/springframework/core/annotation/MergedAnnotations.SearchStrategy.html
堆栈跟踪:
java.lang.NoClassDefFoundError: org/springframework/core/annotation/MergedAnnotations$SearchStrategy
at org.springframework.boot.BeanDefinitionLoader.isComponent(BeanDefinitionLoader.java:279) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:156) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:136) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:128) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.load(SpringApplication.java:691) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:392) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:197) ~[spring-cloud-context-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:104) ~[spring-cloud-context-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:70) ~[spring-cloud-context-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:152) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:132) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:92) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
maven 依赖关系树,所有 spring 次出现:
[INFO] +- org.springframework.security:spring-security-config:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-config:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework.security:spring-security-core:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework.security:spring-security-core:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-context:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-context:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-web:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-web:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-expression:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-expression:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-web:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-web:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.0.RELEASE:provided
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.0.RELEASE:provided
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-aop:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-aop:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-jdbc:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-jdbc:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:5.2.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework.data:spring-data-jpa:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.data:spring-data-jpa:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-commons:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-commons:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework:spring-orm:jar:5.2.0.RELEASE:compile
[INFO] | | +- org.springframework:spring-orm:jar:5.2.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-tx:jar:5.2.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-tx:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-aspects:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-aspects:jar:5.2.0.RELEASE:compile
[INFO] +- org.apache.cxf:cxf-spring-boot-starter-jaxrs:jar:3.2.5:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.0.RELEASE:compile
[INFO] | +- org.apache.cxf:cxf-spring-boot-autoconfigure:jar:3.2.5:compile
[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.boot:spring-boot-actuator:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.boot:spring-boot-actuator:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.2.0.RELEASE:test
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework:spring-test:jar:5.2.0.RELEASE:test
[INFO] | +- org.springframework:spring-test:jar:5.2.0.RELEASE:test
[INFO] +- org.springframework.cloud:spring-cloud-config-client:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-config-client:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-commons:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-commons:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.security:spring-security-crypto:jar:5.2.0.RELEASE:compile
[INFO] | | \- org.springframework.security:spring-security-crypto:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework.cloud:spring-cloud-context:jar:2.2.0.RELEASE:compile
[INFO] | \- org.springframework.cloud:spring-cloud-context:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.retry:spring-retry:jar:1.2.4.RELEASE:compile
[INFO] +- org.springframework.retry:spring-retry:jar:1.2.4.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-validation:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-validation:jar:2.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework:spring-core:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework:spring-core:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-jcl:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-jcl:jar:5.2.0.RELEASE:compile
[INFO] \- org.springframework.cloud:spring-cloud-starter-openfeign:jar:2.2.0.RELEASE:compile
[INFO] \- org.springframework.cloud:spring-cloud-starter-openfeign:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-starter:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-starter:jar:2.2.0.RELEASE:compile
[INFO] | \- org.springframework.security:spring-security-rsa:jar:1.0.7.RELEASE:compile
[INFO] | \- org.springframework.security:spring-security-rsa:jar:1.0.7.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-openfeign-core:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-openfeign-core:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-netflix-ribbon:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-netflix-ribbon:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.cloud:spring-cloud-netflix-archaius:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.cloud:spring-cloud-netflix-archaius:jar:2.2.0.RELEASE:compile
[INFO] | \- io.github.openfeign.form:feign-form-spring:jar:3.8.0:compile
当作为 Spring IO 平台的一部分的工件在没有版本的情况下声明时,将使用依赖项的预定义版本,对于 spring-core,它是
org.springframework spring-core 5.0.13.RELEASE
https://docs.spring.io/spring/docs/5.0.13.RELEASE/javadoc-api/org/springframework/core/annotation/ 缺少 MergedAnnotations class。
声明与您选择的版本的依赖关系
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
更新(我之前的回答似乎有点误导)
不需要明确声明版本。 Dependency Management 文档部分提到了以下内容。
Each release of Spring Boot provides a curated list of dependencies
that it supports. In practice, you do not need to provide a version
for any of these dependencies in your build configuration, as Spring
Boot manages that for you. When you upgrade Spring Boot itself, these
dependencies are upgraded as well in a consistent way.
此外,解释了继承起始父级时所需的升级修改here
我正在尝试将我们拥有的多个项目中的 spring 从 2.1.1 升级到 2.2.0。 我已经在几个项目中完成了,一切都很顺利。
在当前项目中,我做了同样的修改:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/>
</parent>
<properties>
<spring-cloud.version>Hoxton.RELEASE</spring-cloud.version>
<spring.boot.version>2.2.0.RELEASE</spring.boot.version>
...
...
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
</dependency>
.....
.....
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
...
</dependencies>
现在,当我尝试启动我的应用程序时,出现以下错误:
Caused by: java.lang.NoClassDefFoundError: org/springframework/core/annotation/MergedAnnotations$SearchStrategy
我检查过,根据文档,这个 class 应该在我当前的 spring-core 版本中可用: https://docs.spring.io/spring/docs/5.2.0.RELEASE/javadoc-api/org/springframework/core/annotation/MergedAnnotations.SearchStrategy.html
堆栈跟踪:
java.lang.NoClassDefFoundError: org/springframework/core/annotation/MergedAnnotations$SearchStrategy
at org.springframework.boot.BeanDefinitionLoader.isComponent(BeanDefinitionLoader.java:279) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:156) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:136) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:128) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.load(SpringApplication.java:691) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:392) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:197) ~[spring-cloud-context-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:104) ~[spring-cloud-context-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:70) ~[spring-cloud-context-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:152) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:132) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:92) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
maven 依赖关系树,所有 spring 次出现:
[INFO] +- org.springframework.security:spring-security-config:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-config:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework.security:spring-security-core:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework.security:spring-security-core:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-context:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-context:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-web:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-web:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-expression:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-expression:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-web:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-web:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.0.RELEASE:provided
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.0.RELEASE:provided
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-aop:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-aop:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-jdbc:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-jdbc:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:5.2.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework.data:spring-data-jpa:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.data:spring-data-jpa:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-commons:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-commons:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework:spring-orm:jar:5.2.0.RELEASE:compile
[INFO] | | +- org.springframework:spring-orm:jar:5.2.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-tx:jar:5.2.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-tx:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-aspects:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-aspects:jar:5.2.0.RELEASE:compile
[INFO] +- org.apache.cxf:cxf-spring-boot-starter-jaxrs:jar:3.2.5:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.0.RELEASE:compile
[INFO] | +- org.apache.cxf:cxf-spring-boot-autoconfigure:jar:3.2.5:compile
[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.boot:spring-boot-actuator:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.boot:spring-boot-actuator:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.2.0.RELEASE:test
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework:spring-test:jar:5.2.0.RELEASE:test
[INFO] | +- org.springframework:spring-test:jar:5.2.0.RELEASE:test
[INFO] +- org.springframework.cloud:spring-cloud-config-client:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-config-client:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-commons:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-commons:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.security:spring-security-crypto:jar:5.2.0.RELEASE:compile
[INFO] | | \- org.springframework.security:spring-security-crypto:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework.cloud:spring-cloud-context:jar:2.2.0.RELEASE:compile
[INFO] | \- org.springframework.cloud:spring-cloud-context:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.retry:spring-retry:jar:1.2.4.RELEASE:compile
[INFO] +- org.springframework.retry:spring-retry:jar:1.2.4.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-validation:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-validation:jar:2.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework:spring-core:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework:spring-core:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-jcl:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-jcl:jar:5.2.0.RELEASE:compile
[INFO] \- org.springframework.cloud:spring-cloud-starter-openfeign:jar:2.2.0.RELEASE:compile
[INFO] \- org.springframework.cloud:spring-cloud-starter-openfeign:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-starter:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-starter:jar:2.2.0.RELEASE:compile
[INFO] | \- org.springframework.security:spring-security-rsa:jar:1.0.7.RELEASE:compile
[INFO] | \- org.springframework.security:spring-security-rsa:jar:1.0.7.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-openfeign-core:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-openfeign-core:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-netflix-ribbon:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-netflix-ribbon:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.cloud:spring-cloud-netflix-archaius:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.cloud:spring-cloud-netflix-archaius:jar:2.2.0.RELEASE:compile
[INFO] | \- io.github.openfeign.form:feign-form-spring:jar:3.8.0:compile
当作为 Spring IO 平台的一部分的工件在没有版本的情况下声明时,将使用依赖项的预定义版本,对于 spring-core,它是
org.springframework spring-core 5.0.13.RELEASE
https://docs.spring.io/spring/docs/5.0.13.RELEASE/javadoc-api/org/springframework/core/annotation/ 缺少 MergedAnnotations class。
声明与您选择的版本的依赖关系
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
更新(我之前的回答似乎有点误导)
不需要明确声明版本。 Dependency Management 文档部分提到了以下内容。
Each release of Spring Boot provides a curated list of dependencies that it supports. In practice, you do not need to provide a version for any of these dependencies in your build configuration, as Spring Boot manages that for you. When you upgrade Spring Boot itself, these dependencies are upgraded as well in a consistent way.
此外,解释了继承起始父级时所需的升级修改here