Pergunta

Estou tentando atualizar para o utilitário Java Mail mais recente.

De

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>

para (minha intenção)

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.5.1</version>
</dependency>

Mas não encontro 1.5.1 para artefato de correio,

mas eu posso ver

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.5.1</version>
</dependency>

Minha pergunta é por que o ID do grupo mudou e se eu alterar o ID do grupo para 1.5.1, preciso alterar toda a minha implementação de email que já está presente (mudança de nome do pacote e qualquer outra coisa) e qual é a diferença entre com.sun.mail contra javax.mail?

Foi útil?

Solução

As coordenadas do Maven mudaram há algum tempo para serem compatíveis com o esquema descrito aqui.As novas coordenadas são aqui.

Resumidamente:

  • O ID do grupo javax.mail não é mais usado para a implementação.
  • Há um novo artefato em javax.mail:javax.mail-api.Ele fornece o javax.mail-api.jar arquivo.Contém apenas as definições da API JavaMail, adequadas para compilação.
  • com.sun.mail:javax.mail contém o javax.mail.jar arquivo, o arquivo jar de implementação de referência JavaMail, incluindo os provedores de protocolo SMTP, IMAP e POP3.

Então, você deve usar com.sun.mail:javax.mail para compilação e empacotamento/implantação ou uso javax.mail:javax.mail-api para compilação e, em seguida, implantar o com.sun.mail:javax.mail jar quando apropriado (por exemplo, sua biblioteca do Tomcat).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top