Reputation: 1124
I am trying to upgrade to latest Java Mail utility.
From
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
to (my Intention)
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.1</version>
</dependency>
But I don't find 1.5.1 for mail artifact,
but I can see
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.1</version>
</dependency>
My Question is why group id changed and if I change the group id for 1.5.1 do I need to change all my mail implementation that is already present (package name change and any other stuff) and what is the difference between com.sun.mail
vs javax.mail
?
Upvotes: 47
Views: 40722
Reputation: 29981
The Maven coordinates changed some time ago to be compatible with the scheme described here. The new coordinates are here.
In short:
javax.mail
is no longer used for the implementation.javax.mail:javax.mail-api
. It provides the javax.mail-api.jar
file. This contains the JavaMail API definitions only, suitable for compiling against.com.sun.mail:javax.mail
contains the javax.mail.jar
file, the JavaMail reference implementation jar file, including the SMTP, IMAP, and POP3 protocol providers.So, you should either use com.sun.mail:javax.mail
for compilation and packaging/deploy, or use javax.mail:javax.mail-api
for compilation and then deploy the com.sun.mail:javax.mail
jar where appropriate (e.g., your Tomcat lib).
Upvotes: 100