tomcat - javax.mail 不再适用于 java 11 和 tomcat 8.5

标签 tomcat jakarta-mail java-11

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

我创建了一个用于发送导入的电子邮件的类

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 发送电子邮件?

谢谢

最佳答案

包括 latest version程序中的 javax.activation。

关于tomcat - javax.mail 不再适用于 java 11 和 tomcat 8.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57577315/

相关文章:

apache-camel - 如何防止来自Camel "expected resource not found"组件的java邮件 "smtp"警告?

java - 流式传输和过滤 SortedMap

windows-10 - 使用 java11 运行 javafx 应用程序时出现 'java.lang.RuntimeException: No toolkit found' 错误

tomcat - 如何从 Nexus 组件中获取文件?

java - Apache Tomcat 6 是否支持 JTA?

java - 如何将 JsonNode 作为电子邮件附件发送

java - 如何使用 Java 将文件附加到电子邮件?

java - 为什么不使用自定义比较器从TreeSet中删除,则会删除较大的项集?

spring - Vaadin 7.4、Spring、Tomcat 7、使用@WebServlet 更改上下文根

java - 为什么我们的连接池关闭?