JavaMail API de Maven
Pregunta
Estoy tratando de actualizar a la última versión de Java utilidad de Correo.
De
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
para (mi Intención)
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.1</version>
</dependency>
Pero no me parece que 1.5.1 por correo artefacto,
pero puedo ver
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.1</version>
</dependency>
Mi Pregunta es ¿por qué id de grupo cambiado y si puedo cambiar el id de grupo para 1.5.1 ¿tengo que cambiar todo mi correo de la aplicación, que ya está presente (paquete de cambio de nombre y cualquier otro material) y ¿cuál es la diferencia entre com.sun.mail
vs javax.mail
?
Solución
La Maven coordenadas cambiado hace algún tiempo para ser compatible con el esquema descrito aquí.Las nuevas coordenadas son aquí.
En resumen:
- El groupId
javax.mail
ya no se utiliza para la aplicación. - Hay un nuevo artefacto en
javax.mail:javax.mail-api
.Proporciona lajavax.mail-api.jar
archivo.Este contiene el API de JavaMail definiciones sólo, apropiado para la elaboración de contra. com.sun.mail:javax.mail
contiene lajavax.mail.jar
archivo de la JavaMail implementación de referencia de archivo jar, incluyendo el SMTP, IMAP y POP3 protocolo de proveedores.
Así que, usted debe utilizar com.sun.mail:javax.mail
para la compilación y empaquetado/implementar o utilizar javax.mail:javax.mail-api
para la compilación y, a continuación, implementar el com.sun.mail:javax.mail
frasco donde sea apropiado (por ejemplo, su Tomcat lib).