Spring-boot 2.3.1.RELEASE 启动找不到DataSize类?

Spring-boot 2.3.1.RELEASE 启动报错:
Caused by: java.lang.ClassNotFoundException: org.springframework.util.unit.DataSize

pom.xml 下没有引用spring相关的依赖,Spring-boot引用的是spring相关包是5.0.11.RELEASE
image.png

找了半天也没有对应的解决方案,so下能搜到的相关的这几个都没解决,
<properties>下也没指定spring.version
jdk用的1.8也正常
还有说spring-framework5.1以后才有DataSize这个类的,那这个Spring-boot 2.3.1.RELEASE岂不是有问题?为什么要引用不包含的版本呢?

https://stackoverflow.com/sea...

求问怎么解决这个啊?

阅读 3.4k
3 个回答

Spring-boot 2.3.1.RELEASE 依赖的是 Spring-framework 5.2.7

1:你可能其他模块jar包又依赖引入了Spring-framework非boot版本依赖的版本
2:用maven tree看下依赖排查下

问题解决了, 在这里说下解决方案。Maven的依赖向来是很头疼,问题确实跟依赖相关。是引用的spring-core相关的包是用的dependencyManagement中一个依赖下的相关包,导致和parent中声明的冲突。但是通过maven的依赖可视化页面和maven dependency:tree 其实都看不到具体spring-core相关的包是通过哪个父依赖引入的。所以parent 和 dependencyManagement 中的留一个就好了。
还有另一个问题是我当前的电脑引入的一个dependency 没有引入里面的一个包,而另一个电脑却引入了。导致部分代码报错,这个其实把本地repository中的对应jar包删了,重新download下就好了。

推荐问题
宣传栏