【发布时间】:2018-07-05 06:55:58
【问题描述】:
javax.mail 和 javax.mail-api 有什么区别?
我从 maven 存储库中找到了那些。
什么时候应该使用它们?
软件包自带javax.mail-api,但是我无法使用,所以我下载了javax.mail。
【问题讨论】:
标签: java maven jakarta-mail
javax.mail 和 javax.mail-api 有什么区别?
我从 maven 存储库中找到了那些。
什么时候应该使用它们?
软件包自带javax.mail-api,但是我无法使用,所以我下载了javax.mail。
【问题讨论】:
标签: java maven jakarta-mail
javax.mail-api 仅包含接口,javax.mail 包含实现。
【讨论】:
当 Java Mail API 等库的作者未将其发布到 Maven Central 或其他公共存储库时,不同的各方可能会上传它们,并在发布时与 groupId 冲突。你看到的那两个可能就是这种情况。
此artifact 似乎包含使用邮件 api 所需的所有内容的最新版本。
【讨论】:
AFAIK 来自经验并查看 maven central...
当 javax.mail:mail 捆绑在“战争”中并且也在 tomcat 'lib' 中时,会出现以下错误:
java.lang.ClassCastException: javax.mail.Session cannot be cast to javax.mail.Session
同样,javax.mail:javax-mail-api 包含一个 Session 类,并且不仅仅是接口。当它丢失时会出现此错误:
java.lang.NoClassDefFoundError: javax/mail/Authenticator
com.sun.mail:javax-mail 是 sun/oracle 特有的。
【讨论】: