java.lang.NoClassDefFoundError:org / apache / commons / collections / Transformer
我收到以下错误java.lang.NoClassDefFoundError: org/apache/commons/collections/Transformer
试图从Apache Commons BeanUtils库中使用BeanMap
。
它由以下代码生成: BeanMap studentBeanMap = new BeanMap(cohortStudentData.get(row));
其中cohortStudentData
是一个bean列表。
我正在使用Apache DBUtils中的BeanListHandler来构建数据库中的bean列表。
我从这个错误报告中BeanMap
, BeanMap
依赖于Apache Collections框架。 但是,我已将所有相关库导入到我的项目和我的课程中,如下所示:
有谁知道为什么会这样?
我不太确定,但我认为你的错误是因为jar版本。 最近,apache改变了新版本jar的包,因为它们实现了新function或者不完全向后兼容的function。 例如,jar commons-beanutils-1.9.2.jar依赖于commons-collections-3.2.1.jar(根据这个站点),你使用的是commons-collections-4.4.0.jar。 如果您计划使用apache jar的世界,您需要确保它们都是兼容的。
只需将此依赖项添加到项目中即可。
commons-collections commons-collections 3.2.2
commons-collections4-xxjar将库添加到类路径并尝试再次运行。 它会工作。
从以下 url 下载该库: https : //mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.1
添加版本3.2.1的依赖性似乎在这里工作
commons-collections commons-collections 3.2.1