JavaMail API от Maven
Вопрос
Я пытаюсь обновить утилиту Java Mail до последней версии.
От
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
(мое намерение)
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.1</version>
</dependency>
А вот 1.5.1 для почтового артефакта не нахожу,
но я вижу
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.1</version>
</dependency>
Мой вопрос: почему изменился идентификатор группы, и если я изменю идентификатор группы на 1.5.1, нужно ли мне изменить всю мою почтовую реализацию, которая уже присутствует (изменение имени пакета и любые другие вещи), и в чем разница между com.sun.mail
против javax.mail
?
Решение
Координаты Maven некоторое время назад были изменены для совместимости с описанной схемой. здесь.Новые координаты здесь.
Суммируя:
- Идентификатор группы
javax.mail
больше не используется для реализации. - Появился новый артефакт
javax.mail:javax.mail-api
.Он обеспечиваетjavax.mail-api.jar
файл.Он содержит только определения API JavaMail, подходящие для компиляции. com.sun.mail:javax.mail
содержитjavax.mail.jar
файл JAR-файл эталонной реализации JavaMail, включая поставщиков протоколов SMTP, IMAP и POP3.
Итак, вы должны либо использовать com.sun.mail:javax.mail
для компиляции и упаковки/развертывания или использования javax.mail:javax.mail-api
для компиляции, а затем развернуть com.sun.mail:javax.mail
jar, где это возможно (например, ваша библиотека Tomcat).