web-dev-qa-db-fra.com

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

Je reçois l'erreur suivante Java.lang.NoClassDefFoundError: org/Apache/commons/collections/Transformer En essayant d'utiliser BeanMap de la bibliothèque Apache Commons BeanUtils.

Il est généré à partir du code suivant: BeanMap studentBeanMap = new BeanMap(cohortStudentData.get(row));cohortStudentData est une liste de beans.

J'utilise BeanListHandler d'Apache DBUtils pour former la liste des beans à partir d'une base de données.

Je comprends de this et this rapport de bogue que BeanMap dépend du framework Apache Collections. Cependant, j'ai importé toutes les bibliothèques pertinentes dans mon projet et dans ma classe, comme vous pouvez le voir ci-dessous:

External Library List

Import Statements

Est-ce que quelqu'un sait pourquoi cela pourrait se produire?

6
Ben

Je ne suis pas vraiment sûr, mais je pense que votre erreur est due aux versions de jar. Dernièrement, Apache a changé le package des nouvelles versions de leurs pots car ils implémentent de nouvelles fonctionnalités ou quelque chose qui n'est pas entièrement rétrocompatible. Par exemple, le pot commons-beanutils-1.9.2.jar dépend de commons-collections-3.2.1.jar (selon this site) et vous utilisez commons-collections-4.4.0.jar . Si vous prévoyez d'utiliser l'univers des pots Apache, vous devez vous assurer qu'ils sont tous compatibles.

5
Ivan Perales M.

Ajoutez simplement cette dépendance à votre projet.

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

commons-collections4-x.x.jar Ajoutez la bibliothèque à votre chemin de classe et essayez de relancer. Ça va marcher.

Téléchargez la bibliothèque à partir de: https://mvnrepository.com/artifact/org.Apache.commons/commons-collections4/4.1 =

L'ajout de dépendances de la version 3.2.1 semble fonctionner ici

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