2015-02-02 2 views
6

Ich versuche, die javax.mail jar meinen Classpath hinzufügen, aber ich bekomme diese Fehlermeldung:java.lang.NoClassDefFoundError: javax/mail/MessagingException ungelöst

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. 

Ich habe in anderen post von mir gelesen, dass es könnte die dependecy zum pom.xml fixiert werden, indem, also tat ich es:

pom.xml

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

project

Aber immer noch bekomme ich den Fehler .. kann jemand mir dabei helfen?

+0

Versuchen Sie, das Projekt zu löschen und neu zu erstellen. – Jens

+0

@Jens fertig! aber immer noch den gleichen Fehler. –

Antwort

8

Auch mit der Version 1.4.3 gibt es nicht mehr eine Artefakt-ID namens Mail. Wenn Sie 1.4.3 verwenden möchten, sollten Sie diese Abhängigkeit

<dependency> 
    <groupId>javax.mail</groupId> 
    <artifactId>mailapi</artifactId> 
    <version>1.4.3</version> 
</dependency> 
+0

Ich stelle diese Abhängigkeit und bekomme immer noch den gleichen Fehler –

+0

Wann erhalten Sie diesen Fehler? Wenn Sie den Code mit Tomcat ausführen, sollten Sie prüfen, ob der Mail-Jar für Tomcat zugänglich ist - also entweder im Verzeichnis WAR \ WEB-INF \ lib oder im Ordner shared \ lib. – vanval

+0

Ich bekomme den Fehler, wenn der Server gestartet wird @vanval –

0

Die neueste Version des Java-Mail-API ist

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

Haben Sie den gleichen Fehler mit dieser Version?

+0

immer noch den gleichen Fehler. überprüfe meine Bearbeitung bitte. –

0

Die javax/mail/MessagingException existiert bereits in der Version 1.4. Also ich denke, das ist nur ein Montageproblem innerhalb der IDE. Aktualisieren der Pom-Abhängigkeiten und Überprüfen des Artefakts, das die IDE aufbaut, sollte ausreichen.

+0

Bitte überprüfen Sie meine Bearbeitung. –

+0

bereits von anderen Benutzern erwähnt - die Klasse kann nicht gefunden werden, da sie möglicherweise nicht von Ihrer IDE erstellt wird. Versuchen Sie, das Artefakt zu überprüfen, das Ihre IDE erstellt. Versuchen Sie auch, die Anwendung usw. zu bereinigen, neu zu erstellen, zu deimplementieren und bereitzustellen. – fateddy

0

verwenden Diese Klasse hat in allen Versionen von Javamail vorhanden, die ich je benutzt habe. Natürlich haben Sie nicht die Javamail-JAR (s) auf Ihrem CLASSPATH, wie bei jeder anderen ClassNotFoundException.

+0

Bitte überprüfen Sie meine Bearbeitung. –

+0

Ich benutze diese IDE nicht, also kann ich nicht kommentieren, aber meine Antwort bleibt. Die Ausnahme beweist es. – EJP

0

Sie haben den Klassenpfad mithilfe von maven und manuell hinzugefügten Referenzen in Eclipse gemischt.

Deaktivieren Sie die "Maven Nature" machen Sie eine mvn eclipse:clean auf der Befehlszeile aktualisieren Sie Ihr Projekt und convert it to maven project und versuchen Sie es erneut.

Um zu klären: Wo haben Sie die Mail-API in Pom hinzugefügt? unter <dependecies> oder unter <dependecyManagement?

Verwandte Themen