运行spring boot项目时java.lang.NoClassDefFoundError:org/springframework/util/unit/DataSize

ams*_*kar 6 spring-boot

将spring-boot版本转换为2.0.1.RELEASE在运行spring boot项目时出现此错误.我只是从2.0.3.RELEASE更改版本

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.1.0.RELEASE</version>
    </dependency>

[DEV: 2018-Dec-03 17:35:10,523][ERROR][main      ]Application run failed
java.lang.NoClassDefFoundError: org/springframework/util/unit/DataSize
at org.springframework.boot.convert.StringToDataSizeConverter.getConvertibleTypes(StringToDataSizeConverter.java:40)
at org.springframework.core.convert.support.GenericConversionService$Converters.add(GenericConversionService.java:507)
at org.springframework.core.convert.support.GenericConversionService.addConverter(GenericConversionService.java:105)
at org.springframework.boot.convert.ApplicationConversionService.addApplicationConverters(ApplicationConversionService.java:107)
at org.springframework.boot.convert.ApplicationConversionService.configure(ApplicationConversionService.java:91)
at org.springframework.boot.convert.ApplicationConversionService.<init>(ApplicationConversionService.java:52)
at org.springframework.boot.convert.ApplicationConversionService.<init>(ApplicationConversionService.java:45)
at org.springframework.boot.convert.ApplicationConversionService.getSharedInstance(ApplicationConversionService.java:71)
at org.springframework.boot.SpringApplication.configureEnvironment(SpringApplication.java:486)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:346)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:306)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
at org.onap.universalvesadapter.Application.main(Application.java:29)
Caused by: java.lang.ClassNotFoundException: org.springframework.util.unit.DataSize
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
Run Code Online (Sandbox Code Playgroud)

小智 13

此问题已解决,因为我的POM.xml在属性标记中错误地使用了spring.version.

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

<properties>
    <java.version>1.8</java.version>
    <kotlin.version>1.2.71</kotlin.version>
    <!-- <spring.version>5.0.6.RELEASE</spring.version> -->
</properties>
Run Code Online (Sandbox Code Playgroud)


Geo*_*met 5

将 spring 4.x 与 spring-boot 2.1.x 结合也会导致这种情况。确保 的spring-core依赖项spring-boot与您spring-core在 (parent) 中的声明具有相同的版本pom.xml