javax.mail 不再使用 java 11 和 tomcat 8.5

javax.mail no longer working with java 11 and tomcat 8.5

我在 Ubunutu 18Apache Tomcat 8.5 上使用 java 11.0.4 2019-07-16 LTS

我创建了一个 class 用于发送导入

的电子邮件
import javax.mail.*;
import javax.mail.internet.*;

现在,当我使用 java 8 发送电子邮件时,我没有遇到任何问题。但是,现在它不起作用,我收到 500 错误。

看看我的 localhost.2019-08-20.log 我可以找到以下堆栈跟踪:

20-Aug-2019 17:13:14.961 SEVERE [http-nio-80-exec-96] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [mlc.servlets.DispatcherServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause
    java.lang.ClassNotFoundException: javax.activation.DataHandler
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1360)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1182)
        at mlc.Mailer.sendEMail(Mailer.java:35)
        ...and so on...

做一些研究我认为问题是模块 java.activation 没有加载。

但是,我在互联网上没有找到任何解决方案。我只发现 java.activation 已从 java 11 中删除。所以,我想我需要其他东西。

所以,我的问题是:我需要做什么才能使我的网络应用程序再次使用 Tomcat 8.5 发送电子邮件?

谢谢

在您的程序中包含 javax.activation 的 latest version