我使用Java 11(Corretto 11),log4j 2.12.1和jakarta.mail 2.0.1。我的log4j配置是使用SMTP appender,但我沒有收到任何郵件。我確實看到檔案中的日志陳述句(當使用檔案或控制臺appender時)。而且當使用完全相同的log4j配置與Java 8、log4j 2.12.1和javax.mail 1.6.2時,我確實收到了郵件。我不能同時使用javax.mail和jakarta.mail,因為有重疊的類(如com.sun.mail.util.MimeUtil)。它確實可以與javax.mail 1.6.2.
對于 Java 11 log4j2 SMTP Appender 有什么建議?如果我想使用 log4j,我是否只能使用不再維護的舊版 javax.mail 1.6.2 呢?
這可能是Eclipse中的一個怪癖,但是當我從log4j 2.12.1中查看org.apache.logging.log4j.core.net.MimeMessageBuilder的源代碼時,進口顯示javax.mail.*,但MimeMessage類的javadoc顯示jakarta.mail.internet.MimeMessage。
uj5u.com熱心網友回復:
你可能知道,Java EE從Oracle轉移到Eclipse基金會需要從javax.*命名空間(在Java EE 8/Jakarta EE 8中)改變為jakarta.*命名空間(Jakarta EE 9)。
由于在所有庫切換到 Jakarta EE 9 之前可能要經過很多年,并且考慮到所有 Jakarta EE 9 技術的切換必須同時進行,因此 Jakarta EE 8 實作可能會在很長一段時間內得到更新。
由于 Log4j 是尚未遷移的庫之一,因此請使用 jakarta.mail工件,來自 com.sun.mail 集團的 1.6.x 版本。正如你所看到的,它仍然得到更新(今天的最新版本:1.6.7).
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/313416.html
標籤:
