web-dev-qa-db-fra.com

java.lang.NoClassDefFoundError: javax/mail/MessagingException non résolue

J'essaie d'ajouter le fichier javax.mail à mon chemin de classe, mais j'obtiens cette erreur:

Java.lang.NoClassDefFoundError: javax/mail/MessagingException
    at Java.lang.Class.getDeclaredConstructors0(Native Method)
    at Java.lang.Class.privateGetDeclaredConstructors(Class.Java:2663)
    at Java.lang.Class.getDeclaredConstructors(Class.Java:2012)
    at org.springframework.beans.factory.annotation.

J'ai lu dans un autre article qu'il pourrait être résolu d'ajouter la dépendance au fichier pom.xml, je l'ai donc fait:

pom.xml

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.3</version>
</dependency>

project

Mais je reçois toujours l'erreur .. est ce que quelqu'un peut m'aider avec ça?

6
Rafael Reyes

De plus, avec la version 1.4.3, il n'existe plus d'identifiant d'artefact appelé mail. Si vous voulez utiliser 1.4.3, vous devriez utiliser cette dépendance

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mailapi</artifactId>
    <version>1.4.3</version>
</dependency>
7
vanval

La version la plus récente de l'API Java Mail est

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>javax.mail-api</artifactId>
    <version>1.5.2</version>
</dependency>

Avez-vous la même erreur avec cette version?

0
Harald Wellmann

Cette classe a été présente dans toutes les versions de Javamail que j'ai jamais utilisées. Il est clair que vous n'avez pas le ou les fichiers JAR de Javamail sur votre CLASSPATH, comme pour toute autre exception ClassNotFoundException.

0
user207421

Vous avez mélangé le chemin de classe en utilisant maven et ajouté manuellement des références dans Eclipse. 

Désactivez la "nature maven", mettez un mvn Eclipse:clean en ligne de commande, actualisez votre projet et convert it to maven project, puis réessayez.

Pour clarifier: Où avez-vous ajouté l’API mail dans pom? sous <dependecies> ou sous <dependecyManagement?

0
Jens

le javax/mail/MessagingException existe déjà dans la version 1.4. Donc, je suppose que ceci n’est qu’un problème d’assemblée au sein de l’IDE. L'actualisation des dépendances de pom et la vérification de l'artefact construit par IDE devraient suffire.

0
fateddy