Java-Tipps - Nehmen Sie eine Abhängigkeit an, wenn in JavaMail eine ClassNotFoundException auftritt

Verdacht auf Abhängigkeit, wenn ClassNotFoundException in JavaMail auftritt

Als ich einen Prozess zum Senden von E-Mails mit JavaMail in einem Java-Stapel erstellte, trat ClassNotFoundException auf, sodass ich die Ursache und Lösung zu diesem Zeitpunkt zusammenfassen werde.

Ursache

Die Ursache war einfach und ich habe einen Fehler beim Laden der Bibliothek gemacht. Ursprünglich habe ich Folgendes in Gradles Abhängigkeiten geschrieben, um die Bibliothek zu laden.

compile group: 'javax.mail', name: 'javax.mail-api', version: '1.6.2'

Jetzt sind die einzigen fallenden Bibliotheken: javax.mail-api-1.6.2.jar

Die einzigen Klassen, die in dieser Bibliothek enthalten sind, beziehen sich auf "javax.mail ~", und ich werde wütend, weil ich beim Senden von E-Mails nicht genügend Klassen habe ... (Obwohl nichts in Abhängigkeit vom Maven-Repository geschrieben ist)

Verbesserung

Ändern Sie die zu ladende JavaMail-Bibliothek wie folgt.

compile group: 'com.sun.mail', name: 'javax.mail', version: '1.6.2'

Die folgenden zwei Bibliotheken werden dadurch gelöscht. javax.mail-1.6.2.jar activation-1.1.jar

Die in dieser Bibliothek "javax.mail" enthaltenen Klassen sind verwandte Klassen "javax.mail ~" und verwandte Klassen "com.sun.mail ~". Durch die Verwendung dieser Bibliothek wurden Fehler im Zusammenhang mit ClassNotFoundException behoben.

Zusammenfassung

Die Java-Mail-bezogenen Bibliotheken sind durch die ähnliche Gruppenstruktur ziemlich verwirrt. Der Name des Pakets scheint recht gut zu funktionieren und ist sehr schwer zu verstehen ...

Recommended Posts

Java-Tipps - Nehmen Sie eine Abhängigkeit an, wenn in JavaMail eine ClassNotFoundException auftritt
Java-Tipps
Java-Code-TIPPS
[Java] Sortiertipps beim Mischen von Zeichenfolgen und Zahlen