我正在尝试升级到最新的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.mail
与javax.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 库)。