JavaMail API from Maven



我正在尝试升级到最新的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>

我的问题是为什么组 ID 更改,如果我更改 1.5.1 的组 ID,我是否需要更改已经存在的所有邮件实现(包名称更改和任何其他内容),com.sun.mailjavax.mail有什么区别?

Maven 坐标在一段时间前发生了变化,以便与此处描述的方案兼容。 新坐标在这里。

总之:

  • 组 ID javax.mail不再用于实现。
  • javax.mail:javax.mail-api有一个新的神器。它提供javax.mail-api.jar文件。这仅包含 JavaMail API 定义,适合编译。
  • com.sun.mail:javax.mail包含javax.mail.jar文件,JavaMail 引用实现 jar 文件,包括 SMTP、IMAP 和 POP3 协议提供程序。

因此,您应该使用 com.sun.mail:javax.mail 进行编译和打包/部署,或者使用 javax.mail:javax.mail-api 进行编译,然后在适当的地方部署 com.sun.mail:javax.mail jar(例如,您的 Tomcat 库)。

最新更新