Maven からの JavaMail API 質問する

Maven からの JavaMail API 質問する

最新の Java Mail ユーティリティにアップグレードしようとしています。

から

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

(私の意図)

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

しかし、メールアーティファクトの1.5.1は見つかりません。

でも私は見える

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

私の質問は、グループ ID が変更された理由と、1.5.1 のグループ ID を変更する場合、既存のすべてのメール実装 (パッケージ名の変更やその他の変更) を変更する必要があるかどうか、および と の違いは何com.sun.mailですかjavax.mail?

ベストアンサー1

Mavenの座標は、説明したスキームと互換性を持たせるために、しばらく前に変更されました。ここ新しい座標はここ

要するに:

  • groupId はjavax.mail実装には使用されなくなりました。
  • に新しいアーティファクトがありますjavax.mail:javax.mail-api。これはjavax.mail-api.jarファイルを提供します。これにはコンパイルに適した JavaMail API 定義のみが含まれています。
  • com.sun.mail:javax.mailjavax.mail.jarSMTP、IMAP、および POP3 プロトコル プロバイダーを含む JavaMail リファレンス実装 jar ファイルが含まれています。

したがって、com.sun.mail:javax.mailコンパイルとパッケージ化/デプロイに を使用するか、javax.mail:javax.mail-apiコンパイルに を使用し、com.sun.mail:javax.mail適切な場所 (Tomcat ライブラリなど) に jar をデプロイする必要があります。

おすすめ記事