问题描述:
在测试环境代码运行正常,发到生产时项目无法启动,报NoSuchMethodError
定位出问题的包
日志报错NoSuchMethodError:org.apache.commons.codec.binary.Hex.decodeHex(java.lang.String),取关键字codec定位出问题的jar包(为什么是codec关键字:org.apache.commons这几个肯定不能作为关键字去搜索,codec和binary任选搜索,可以多搜索几个关键字,Hex是类名也不能作为关键字),最终发现有多个codec jar包,怀疑是依赖冲突,然后分别在commons-codec-1.15.jar和com.springsource.org.apache.commons.codec-1.6.0.jar中查找decodeHex(java.lang.String)方法,发现com.springsource.org.apache.commons.codec-1.6.0.jar包中的Hex类没有decodeHex(java.lang.String)
处理方法
删除com.springsource.org.apache.commons.codec-1.6.0.jar后项目正常启动