在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
# 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)