有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java11:javax上发送电子邮件给Log4j2 SMTP Appender。邮件或雅加达。邮政

我正在使用Java 11(Corretto 11)、log4j 2.12.1和雅加达。邮件2.0.1。我的log4j配置使用SMTP appender,但我没有收到任何电子邮件。我确实在文件中看到了日志语句(当使用文件或控制台appender时)。同样,当使用与Java8、Log4J2.12.1和javax完全相同的log4j配置时。邮件1.6.2,我确实收到了电子邮件。我不能同时使用javax和javax。邮件和雅加达。邮件,因为有重叠的类(例如com.sun.mail.util.MimeUtil)。它与javax一起工作。邮件1.6.2

Java 11+log4j2+SMTP Appender的建议是什么?我是否坚持使用旧的javax。如果我想使用log4j,邮件1.6.2将不再维护

这可能是Eclipse中的一个怪癖,但当我从log4j 2.12.1中查看org.apache.logging.log4j.core.net.MimeMessageBuilder的源代码时,导入显示javax.mail.*,但是MimeMessage类的javadoc显示jakarta.mail.internet.MimeMessage

log4j2 source code showing use of both javax.mail and jakarta.mail packages.


共 (1) 个答案

  1. # 1 楼答案

    正如您可能知道的,java EE从Oracle转移到Eclipse基金会需要从^ {CD1>}命名空间(在java EE 8/雅加达EE 8)中更改到^ {CD2>}命名空间(雅加达EE 9)。p>

    由于所有库切换到雅加达EE 9可能需要很多年的时间,并且考虑到所有雅加达EE 9技术必须同时进行切换,雅加达EE 8实现可能会在很长一段时间内得到更新

    因为Log4j是尚未迁移的库之一,所以使用^{}工件,版本1.6。来自com.sun.mail组的x。正如你所见,它仍然得到更新(今天的最新版本:1.6.7)