java.lang.ClassCastException: com.sun.mail.smtp.SMTPTransport cannot be cast to com.sun.mail.smtp.SMTPTransport
Довольно понятно, почему это ошеломляет.Я использую Javamail, возможно, использую старые фляги, но они всегда работали нормально, поэтому я не видел причин для обновления.Я использую эти файлы для Javamail: activ.jar dsn.jar imap.jar mailapi.jar pop3.jar smtp.jar.
Все работало нормально, пока я не обновил Jetty 9.4 и не начал получать эти странные ошибки.Очень странно то, что я получаю эти ошибки только иногда, когда письмо отправляется слушателем, все письма, отправленные сервлетами, работают нормально, но некоторые писем, установленных слушателями, провоцируют эту ошибку.
Я заметил, что в 9.4 Jetty включает другую реализацию Javamail в папке lib.Я попытался удалить этот файл, а затем я начал получать ошибки "нет такого транспорта".Я попытался поместить свои файлы javamail в папку lib / ext, и затем я начал получать com.sun.mail.smtp.SMTPTransport, который не может быть приведен к ошибке com.sun.mail.smtp.SMTPTransport.
Я просто не понимаю, как работает загрузчик классов Jetty, иногда мне приходится дублировать jar-файлы как в папку $ JETTY_BASE / lib / ext, так и в папку WEB-INF / lib, но большую часть времени, если я дублирую файл в обоихпапки, я получаю предупреждение.
Я пытался использовать реализацию Java для Jetty, чтобы заменить мои старые файлы, но она просто не работала, поэтому я сдался.
У меня кончаетсяидей для решения этой проблемы, любая помощь будет оценена.