Подтвердить что ты не робот

API JavaMail от Maven

Я пытаюсь перейти на последнюю утилиту Java Mail.

С

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>

to (мое намерение)

<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 vs javax.mail?

4b9b3361

Ответ 1

Колесо Maven некоторое время назад изменилось, чтобы быть совместимым со схемой, описанной здесь здесь. Новые координаты здесь.

Короче:

  • ГруппаId 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 (например, ваш Tomcat lib).