簡體   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