java.lang.NoClassDefFoundError:org/apache/commons/collections/Transformer
我收到以下错误java.lang.NoClassDefFoundError:org/apache/commons/collections/Transformer,java,runtime-error,Java,Runtime Error,我收到以下错误java.lang.NoClassDefFoundError:org/apache/commons/collections/Transformer试图使用apache commons BeanUtils库中的BeanMap 它由以下代码生成:BeanMap studentBeanMap=newbeanmap(cohortStudentData.get(row))其中cohortStudentData是bean的列表 我正在使用ApacheDbutils中的BeanListHandl
java.lang.NoClassDefFoundError:org/apache/commons/collections/Transformer
试图使用apache commons BeanUtils库中的BeanMap
它由以下代码生成:BeanMap studentBeanMap=newbeanmap(cohortStudentData.get(row))
其中cohortStudentData
是bean的列表
我正在使用ApacheDbutils中的BeanListHandler
从数据库中形成bean列表
我从和bug报告中了解到,BeanMap
依赖于Apache Collections框架。但是,我已将所有相关库导入到我的项目和我的类中,如下所示:
有人知道为什么会发生这种情况吗?我不太确定,但我认为您的错误是因为jar版本。最近,apache更改了JAR新版本的包,因为它们实现了新功能或不完全向后兼容的东西。例如,jarcommons-beanutils-1.9.2.jar依赖于commons-collections-3.2.1.jar(根据站点),您使用的是commons-collections-4.4.0.jar。如果您计划使用ApacheJAR,您需要确保它们都是兼容的。只需将此依赖项添加到您的项目中即可
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
公地收藏
公地收藏
3.2.2
commons-collections4-x.x.jar将库添加到类路径中,然后再次尝试运行。它会起作用的
从以下位置下载库:
添加3.2.1版的依赖项似乎在这里起作用
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
公地收藏
公地收藏
3.2.1
将commons-collections-3.2.jar添加到项目库中您需要一个较旧版本的commons-collections
。目前您正在使用commons-collections4
(注意这里的4)-但是异常告诉您需要org.apache.commons.collections.Transformer
(这里没有4个)。请尝试下载版本commons-collections-3
。这不是一个安全的解决方案,因为该版本中有已知的解决方案。建议移至3.2.2或。