I get a compile error from maven when building a project under Java 9 that uses the Oracle JavaMail IMAP provider:
... cannot access com.sun.mail.util.ReadableMime
[ERROR] class file for com.sun.mail.util.ReadableMime not found
(ReadableMime is an interface implemented by IMAPMessage)
It works under Java 8.
The dependencies are:
<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>
Neither javax.mail-api nor imap include a com.sun.mail.util package, but it seems to be no longer part (if it ever officially was) of the JRE.
So, I guess this is a bug in the Oracle imap provider that pops up now in the presence of Jigsaw, or am I missing something?
Interestingly, the Eclipse compiler doesn't complain.
Thanks to EJP:
com.sun.mail:imap works with com.sun.mail:javax.mail, but not with javax.mail:javax.mail-api.
The latter does not include the com.sun.mail.util package. com.sun.mail:imap does not declare any Maven dependency, but de facto it has a compile dependency to com.sun.mail:javax.mail.