IMAPInputStream не может быть преобразован в javax.mail.Multipart

#java #maven #email #jboss #jakarta-mail

#java #maven #Адрес электронной почты #jboss #джакарта-почта

Вопрос:

Я знаю, что люди уже задавали этот вопрос, но моя проблема в другом… Я просто пытаюсь загрузить вложения из электронного письма, оно работает, когда я выполняю «java -jar myproject.jar » в Windows с использованием этого кода :

 Object obj = message.getContent();
if (!(obj instanceof Multipart)) {
        String message1 = "This Message is not a multipart message!";
}
else {
        Multipart multiPart = (Multipart) message.getContent();
        ...
}
  

Но когда я развертываю этот jar на Jboss 7, я получил эту ошибку :

 com.sun.mail.imap.IMAPInputStream cannot be cast to javax.mail.Multipart
  

Это возвращает мне сообщение 1: «Это сообщение не является составным сообщением!», Я действительно не понимаю, почему…

Я использую: activation-1.1.jar / javax.mail-1.5.2.jar / JDK 1.6 (Jboss настроен с этим JDK, и я не могу его изменить, это не мой собственный сервер)

Спасибо за вашу помощь

Комментарии:

1. JBoss должен включать JavaMail (хотя и более старую версию), поэтому вам не нужно включать эти файлы jar в ваше приложение. Эти конфликтующие файлы jar могут вызвать проблему, которую вы видите.

2. Привет, Билл, и спасибо за ответ! Это не работает… Этот jar действительно нуждается в этих библиотеках…

3. Подробности, пожалуйста. Какая версия JBoss? Как именно ваше приложение выходит из строя без этих файлов jar? Обратите внимание, что даже в худшем случае вы сможете удалить jar-файл активации, поскольку он включен в JDK 1.6. Кроме того, попробуйте поместить jar-файл JavaMail в каталог JBoss lib, а не в ваше приложение.

4. Версия JBoss 7.2.0, и я могу найти библиотеку Javax.mail! К сожалению, я не знаю, как мне подключить lib JAR на JBoss к моему файлу JAR…

5. Что вы подразумеваете под «подключением»? У вас возникли проблемы с компиляцией вашей программы? Или у вас возникли проблемы с запуском вашей программы после ее компиляции и упаковки? Вам потребуется доступ к jar-файлу JavaMail (или javaee.jar file) при компиляции вашей программы, но вам не нужно включать его в свой пакет приложений (например, war file). Как именно вы создаете и упаковываете свое приложение?