在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编译器不会抱怨。
答案 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 有编译依赖关系。