Question

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

Depuis

<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 de courrier,

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'identifiant du groupe a changé et si je change l'identifiant du groupe pour 1.5.1, dois-je modifier toute l'implémentation de mon courrier déjà présente (changement de nom du package et tout autre élément) et quelle est la différence entre com.sun.mail contre javax.mail?

Était-ce utile?

La solution

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:

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

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top