#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). Как именно вы создаете и упаковываете свое приложение?