Oracle JavaMail IMAP提供程序与Java 9不兼容?

时间:2017-12-21 09:30:16

标签: javamail imap java-9

在Java 9下使用Oracle JavaMail IMAP提供程序构建项目时,我从maven收到编译错误:

... cannot access com.sun.mail.util.ReadableMime
[ERROR]   class file for com.sun.mail.util.ReadableMime not found

(ReadableMime是IMAPMessage实现的接口)

它在Java 8下运行。

依赖关系是:

<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>javax.mail-api</artifactId>
  <version>1.6.0</version>
</dependency>

<dependency>
  <groupId>com.sun.mail</groupId>
  <artifactId>imap</artifactId>
  <version>1.6.0</version>
</dependency>

javax.mail-api和imap都不包含com.sun.mail.util包,但它似乎不再是JRE的一部分(如果它是正式的那样)。

所以,我想这是Oracle imap提供程序中存在Jigsaw时出现的错误,或者我错过了什么?

有趣的是,Eclipse编译器不会抱怨。

1 个答案:

答案 0 :(得分:1)

感谢EJP:

com.sun.mail:imap 适用于 com.sun.mail:javax.mail ,但不适用于j avax.mail:javax.mail -API

后者不包含 com.sun.mail.util 包。 com.sun.mail:imap 没有声明任何Maven依赖项,但事实上它与 com.sun.mail:javax.mail 有编译依赖关系。