2015-02-02 3 views
6

Я пытаюсь добавить javax.mail банки в моем пути к классам, но я получаю эту ошибку:java.lang.NoClassDefFoundError: javax/почта/MessagingException нерешенной

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. 

Я прочтенный в другом посте, который это может быть исправлено добавлением к зависимым пакетам pom.xml, так что я сделал это:

pom.xml

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

project

Но все-таки я получаю сообщение об ошибке .. может кто-нибудь мне помочь?

+0

Попробуйте очистить проект и перестроить его. – Jens

+0

@Jens сделано! но по-прежнему получают ту же ошибку. –

ответ

8

Также с версией 1.4.3 больше нет идентификатора артефакта, называемого mail. Если вы хотите использовать 1.4.3, вы должны использовать эту зависимость

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

Я положил эту зависимость и по-прежнему получаю ту же ошибку –

+0

Когда вы получите эту ошибку? Если вы используете код с помощью tomcat, вы должны проверить, доступен ли почтовый ящик tomcat, то есть он должен либо находиться в папке war \ WEB-INF \ lib, либо в папке shared \ lib. – vanval

+0

Я получаю сообщение об ошибке при запуске сервера @vanval –

0

Самая последняя версия API Java почты является

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

Вы получаете ту же ошибку с этой версией?

+0

по-прежнему получают ту же ошибку. проверьте мое редактирование, пожалуйста. –

0

javax/mail/MessagingException уже существует в версии 1.4. Поэтому я предполагаю, что это просто проблема сборки в среде IDE. Освоение зависимостей pom и проверка артефакта, создаваемого IDE, должны быть достаточными.

+0

, пожалуйста, проверьте мои изменения. –

+0

, уже упомянутый другими пользователями - класс не найден, потому что он не может быть собран в вашей среде IDE. Попробуйте проверить артефакт вашей сборки IDE. Также попробуйте очистить, перестроить, развернуть и развернуть приложение и т. Д. – fateddy

0

Этот класс присутствует во всех версиях Javamail, которые я когда-либо использовал. Очевидно, что у вас нет JAR-файлов Javamail на вашем CLASSPATH, как и для любого другого исключения ClassNotFoundException.

+0

, пожалуйста, проверьте мои изменения. –

+0

Я не использую эту IDE, поэтому я не могу комментировать, но мой ответ остается. Исключением это доказывает. – EJP

0

Вы смешали путь к классам с помощью maven и вручную добавили ссылки в eclipse.

Отключите «maven nature», сделайте mvn eclipse:clean на командной строке, обновите свой проект и convert it to maven project, а затем повторите попытку.

Чтобы уточнить: где вы добавили почту api в pom? под <dependecies> или под <dependecyManagement?

 Смежные вопросы

  • Нет связанных вопросов^_^