-
包冲突导致的项目启动失败问题
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/metrics/ApplicationStartup at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:254) at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:267) at org.springframework.boot.builder.SpringApplicationBuilder.createSpringApplication(SpringApplicationBuilder.java:109) at org.springframework.boot.builder.SpringApplicationBuilder.<init>(SpringApplicationBuilder.java:97) at cn.springsoter.core.launch.SpringSoterApplication.createSpringApplicationBuilder(SpringSoterApplication.java:62) at cn.springsoter.core.launch.SpringSoterApplication.run(SpringSoterApplication.java:40) at cn.healthlink.dw.station.DataStationApplication.main(DataStationApplication.java:9) Caused by: java.lang.ClassNotFoundException: org.springframework.core.metrics.ApplicationStartup at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 7 more
这是spring-boot-starter版本冲突导致的,解决办法是在父工程中指定 spring-boot-starter-parent的版本:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<springsoter.version>1.0.26</springsoter.version> <spring.boot.version>2.4.2</spring.boot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
未指定 spring-boot-starter-parent版本之前的依赖树:
指定spring-boot-starter-parent版本之后的依赖树: