Frage

Ich versuche, auf das neueste Java-Mail-Dienstprogramm zu aktualisieren.

Von

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

zu (meiner Absicht)

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

Aber ich finde 1.5.1 für Mail-Artefakte nicht,

aber ich kann sehen

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

Meine Frage ist, warum sich die Gruppen-ID geändert hat und wenn ich die Gruppen-ID für 1.5.1 ändere, muss ich meine gesamte bereits vorhandene Mail-Implementierung ändern (Änderung des Paketnamens und andere Dinge) und was ist der Unterschied zwischen com.sun.mail vs javax.mail?

War es hilfreich?

Lösung

Die Maven-Koordinaten haben sich vor einiger Zeit geändert, um mit dem beschriebenen Schema kompatibel zu sein hier.Die neuen Koordinaten sind hier.

Kurz:

  • Die Gruppen-ID javax.mail wird für die Implementierung nicht mehr verwendet.
  • Es gibt ein neues Artefakt bei javax.mail:javax.mail-api.Es bietet die javax.mail-api.jar Datei.Dies enthält nur die JavaMail-API-Definitionen, die zum Kompilieren geeignet sind.
  • com.sun.mail:javax.mail enthält die javax.mail.jar datei, die JAR-Datei für die JavaMail-Referenzimplementierung, einschließlich der SMTP-, IMAP- und POP3-Protokollanbieter.

Sie sollten also entweder verwenden com.sun.mail:javax.mail zum Kompilieren und Verpacken / Bereitstellen oder Verwenden javax.mail:javax.mail-api zum Kompilieren und dann Bereitstellen der com.sun.mail:javax.mail jar gegebenenfalls (z. B. Ihre Tomcat-Bibliothek).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top