繁体   English   中英

java.lang.NoClassDefFoundError: org/apache/commons/collections/Transformer

[英]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依赖于 Apache Collections 框架。 但是,我已将所有相关库导入到我的项目和类中,如下所示:

外部库列表

进口报表

有谁知道为什么会发生这种情况?

我不太确定,但我认为您的错误是因为 jar 版本。 最近 apache 更改了新版本 jars 的包,因为它们实现了新功能或不完全向后兼容的东西。 例如,jar commons-beanutils-1.9.2.jar 依赖于 commons-collections-3.2.1.jar(根据网站),而您使用的是 commons-collections-4.4.0.jar。 如果您计划使用 apache jar 的世界,您需要确保它们都是兼容的。

只需将此依赖项添加到您的项目中即可。

    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.2</version>
    </dependency>

commons-collections4-xxjar将库添加到您的类路径并尝试再次运行。 它会起作用。

从以下位置下载库: https : //mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.1

添加版本 3.2.1 的依赖似乎在这里工作

<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.1</version>
</dependency>

将 commons-collections-3.2.jar 添加到项目库中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM