Nach dem Wechsel von OracleJDK 8 zu OpenJDK 11 löst JavaMail nun die folgende Ausnahme aus und kann überhaupt keine E-Mails senden.
java.lang.NoClassDefFoundError: javax/activation/DataSource
(Abkürzung)
Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource
Dieser Artikel zeigt Ihnen, wie Sie JavaMail mit OpenJDK 11 und höher verwenden.
JavaMail verwendet das Paket "java.activation" intern, jedoch in OpenJDK 11 und höher JEP 320: Entfernen der Java EE- und CORBA-Module. Paket wurde entfernt.
Aufgrund des Entfernens des Pakets "java.activation" kann die von JavaMail referenzierte Klasse nicht gefunden werden, und die in der Übersicht angezeigte Ausnahme tritt auf.
Sie können JavaMail verwenden, indem Sie das JavaBeans Activation Framework (https://mvnrepository.com/artifact/com.sun.activation/javax.activation) als "java.activation" -Paket verwenden.
Maven
<!-- https://mvnrepository.com/artifact/com.sun.activation/javax.activation -->
<dependency>
<groupId>com.sun.activation</groupId>
<artifactId>javax.activation</artifactId>
<version>1.2.0</version>
</dependency>
Gradle
// https://mvnrepository.com/artifact/com.sun.activation/javax.activation
compile group: 'com.sun.activation', name: 'javax.activation', version: '1.2.0'
Recommended Posts