欢乐 3.6.0,Java 10
引起:java.lang.NoClassDefFoundError: javax/activation/DataSource
你好,
尝试通过 Mirth 发送电子邮件时出现上述错误。我已经读到 Java 10 中缺少一个类,但我找不到成功解决此问题的明确说明。任何帮助将不胜感激。
欢乐 3.6.0,Java 10
引起:java.lang.NoClassDefFoundError: javax/activation/DataSource
你好,
尝试通过 Mirth 发送电子邮件时出现上述错误。我已经读到 Java 10 中缺少一个类,但我找不到成功解决此问题的明确说明。任何帮助将不胜感激。
在 JDK 9 和 JDK 10 中,当您在类路径上编译或运行代码时,默认情况下不会解析包含 CORBA 或 Java SE 和 Java EE 之间共享的 API 的模块。这些模块已被弃用以移除。不解析这些模块的策略是在未来版本中从 Java SE 和 JDK 中删除这些 API 的第一步。不推荐使用的模块是:
- java.corba — CORBA
- java.transaction — Java SE 定义的 Java 事务 API 的子集,用于支持 CORBA 对象事务服务
- java.activation — JavaBeans 激活框架
- java.xml.bind — XML 绑定 (JAXB) 的 Java 架构
- java.xml.ws — 用于 XML Web 服务 (JAX-WS) 的 Java API、Java 平台的 Web 服务元数据和带有 Java 附件的 SOAP (SAAJ)
- java.xml.ws.annotation — Java SE 定义的 JSR-250 通用注释的子集,用于支持 Web 服务
如果不更改构建,则引用这些 API 中的类的现有代码将无法编译。同样,在类路径上引用这些 API 中的类的代码将失败并出现 NoDefClassFoundError 或 ClassNotFoundException,除非对应用程序的部署方式进行了更改。
请参阅JEP 320:删除 Java EE 和 CORBA 模块以获取有关迁移选项、可能的模块替换以及跟踪从 JDK 中删除 Java EE 和 CORBA 模块的进度的更多信息。
你有两个选择:
--add-modules java.activation
由于 Oracle 迁移指南建议在 JVM 启动期间使用选项。您可以将其设置mirth.properties
为 Mirth Connect或者