java.lang.NoSuchMethodError: org.springframework.util.StringUtil.isEmpty报错处理记录

java.lang.NoSuchMethodError: org.springframework.util.StringUtil.isEmpty报错处理记录

背景

我公司的老项目使用的jdk是1.6的,需要引入SpringBoot2.0写的项目,2.0最低要求是jdk1.8,版本冲突。所以决定讲SpringBoot降级,降到1.5.9.RELEASE。

问题

加入依赖后使用工具的时候报错org.springframework.util.StringUtil.isEmpty。由于引入的工具在其他项目中可以正常使用,考虑是降级导致了方法更新不即使。StringUtil是Spring-core中的方法,去类中看了下。
isEmpty是从3.2.1版本后加入的
SpringBoot1.5.9集成的核心包是4.3,点开看也是有这个方法的。最后只能是老项目中的Spring核心包是没有这个方法的,去看了一下,果然之前项目用的是3.1.1
在这里插入图片描述

解决方案

直commons-lang3中的StringUtils中有isEmpty这个方法,使用这个包后,使用正常。

仍有疑问

像这种情况,引入多个Spring核心包的,jdk是怎么选择加载哪个包的?这种情况有没有更好的处理方案?

猜你喜欢

转载自blog.csdn.net/yishifanghua/article/details/113972863