【问题标题】:Difference between javax.mail and javax.mail-apijavax.mail 和 javax.mail-api 之间的区别
【发布时间】:2018-07-05 06:55:58
【问题描述】:

javax.mailjavax.mail-api 有什么区别?

我从 maven 存储库中找到了那些。

什么时候应该使用它们?

软件包自带javax.mail-api,但是我无法使用,所以我下载了javax.mail

【问题讨论】:

    标签: java maven jakarta-mail


    【解决方案1】:

    javax.mail-api 仅包含接口,javax.mail 包含实现。

    【讨论】:

    • 我的应用程序中是否需要两者?
    • 是的,两者都需要。例如,如果我们的应用程序由 maven 管理,这很容易做到。
    • 我刚刚使用了邮件 API。但是有一个具有不同 groupid 的类似 api 并没有解决问题,所以我使用了下面的依赖项,它现在能够解决依赖项。 com.sun.mailjavax.mail1.6.0`
    【解决方案2】:

    Java Mail API 等库的作者未将其发布到 Maven Central 或其他公共存储库时,不同的各方可能会上传它们,并在发布时与 groupId 冲突。你看到的那两个可能就是这种情况。

    artifact 似乎包含使用邮件 api 所需的所有内容的最新版本。

    【讨论】:

      【解决方案3】:

      AFAIK 来自经验并查看 maven central...

      javax.mail:ma​​il 捆绑在“战争”中并且也在 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 特有的。

      【讨论】:

        猜你喜欢
        • 2011-09-30
        • 1970-01-01
        • 2013-10-06
        • 2019-09-26
        • 2015-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-27
        相关资源
        最近更新 更多