问题
Mirth 3.6.0, Java 10
Caused by: java.lang.NoClassDefFoundError: javax/activation/DataSource
Hello,
I am getting the error above when trying to send an email through Mirth. I have read that a class is missing from Java 10 but I cannot find clear instructions to successfully resolve this issue. Any help would be greatly appreciated.
回答1:
In JDK 9 and JDK 10, the modules that contain CORBA or the APIs shared between Java SE and Java EE are not resolved by default when you compile or run code on the class path. These modules are deprecated for removal. The policy of not resolving these modules is a first step toward removing these APIs from Java SE and the JDK in a future release. The deprecated modules are:
- java.corba — CORBA
- java.transaction — The subset of the Java Transaction API defined by Java SE to support CORBA Object Transaction Services
- java.activation — JavaBeans Activation Framework
- java.xml.bind — Java Architecture for XML Binding (JAXB)
- java.xml.ws — Java API for XML Web Services (JAX-WS), Web Services Metadata for the Java Platform, and SOAP with Attachments for Java (SAAJ)
- java.xml.ws.annotation — The subset of the JSR-250 Common Annotations defined by Java SE to support web services
Existing code with references to classes in these APIs will not compile without changes to the build. Similarly, code on the class path with references to classes in these APIs will fail with NoDefClassFoundError or ClassNotFoundException unless changes are made in how the application is deployed.
See JEP 320: Remove the Java EE and CORBA Modules to get more information about migration options, possible replacements for the modules, and to track the progress of the removal of the Java EE and CORBA modules from the JDK.
source
You have two option:
- As Oracle migration guide proposes to use
--add-modules java.activation
option during JVM start. You can set this inmirth.properties
for Mirth Connect
or
- add JavaBeans Activation Framework (JAF) to your dependencies. In Mirth Connect you would add this JAR to a Resource Directory and make your Channel depend on that resource
来源:https://stackoverflow.com/questions/52166659/mirth-java10-missing-class-to-send-email