报错信息如下
 Caused by: java.lang.NoClassDefFoundError: org/springframework/core/metrics/ApplicationStartup
报错说找不到ApplicationStartup这个类,到项目中查看pom的dependency
我的项目引入了两个依赖
  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
    </parent>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>5.3.22</version>
            </dependency>
ApplicationStartup是在spring-boot-starter-parent中的,那么为什么找不到了呢? 我们需要知道包加载的顺序
1路径越短,优先使用
 2在同一个pom中,越靠上越先使用
看一下依赖分析,发现spring-beans全部使用的5.3.22,也就是依赖中单独配置的spring-beans,所以是因为5.3.22中没有这个类ApplicationStartup导致的
 
 我们验证一下:只保留
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
    </parent>
看一下spring-beans是用的什么
 
 所以我们导入了不适配的spring-beans导致项目有问题
解决办法,
 1要么直接把spring-beans删除掉,使用spring-parent自带的spring-beans。
2加入5.2.4的spring-beas
  <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>5.2.4</version>
            </dependency>


















