L'API JavaMail de Maven


J'essaie de mettre à niveau vers le dernier utilitaire de messagerie Java.

De

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

À (mon intention)

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

Mais je ne trouve pas 1.5.1 pour l'artefact mail,

Mais je peux voir

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.5.1</version>
</dependency>

Ma question est de savoir pourquoi l'id de groupe a changé et si je change l'id de groupe pour 1.5.1 dois-je changer toute mon implémentation de messagerie qui est déjà présente (changement de nom de paquet et tout autre élément) et quelle est la différence entre com.sun.mail vs javax.mail?

Author: dur, 2014-02-25

1 answers

Les coordonnées Maven ont changé il y a quelque temps pour être compatibles avec le schéma décrit ici. Les nouvelles coordonnées sont ici.

En bref:

  • Le groupId javax.mail n'est plus utilisé pour l'implémentation.
  • Il y a un nouvel artefact à javax.mail:javax.mail-api. Il fournit le fichier javax.mail-api.jar. Cela contient uniquement les définitions de l'API JavaMail, adaptées à la compilation.
  • com.sun.mail:javax.mail contient le fichier javax.mail.jar, le jar d'implémentation de référence JavaMail fichier, y compris les fournisseurs de protocoles SMTP, IMAP et POP3.

Donc, vous devez soit utiliser com.sun.mail:javax.mail pour la compilation et l'empaquetage/déploiement, soit utiliser javax.mail:javax.mail-api pour la compilation, puis déployer le jar com.sun.mail:javax.mail le cas échéant (par exemple, votre bibliothèque Tomcat).

 65
Author: Bill Shannon, 2017-05-12 22:24:00