Вопрос

Я пытаюсь обновить утилиту 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).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top