Astuces Java: suspectez les dépendances lorsque ClassNotFoundException se produit dans JavaMail

Dépendance suspecte lorsque ClassNotFoundException se produit dans JavaMail

Lorsque je créais un processus pour envoyer du courrier à l'aide de JavaMail dans un lot Java, une exception ClassNotFoundException s'est produite, je vais donc résumer la cause et la solution à ce moment-là.

Cause

La cause était simple et j'ai fait une erreur en chargeant la bibliothèque. À l'origine, j'ai écrit ce qui suit dans les dépendances de Gradle pour charger la bibliothèque.

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

Maintenant, les seules bibliothèques en baisse sont: javax.mail-api-1.6.2.jar

Les seules classes incluses dans cette bibliothèque sont celles liées à "javax.mail ~", et je me fâche car je n'ai pas assez de classes lors de l'envoi de mail ... (Bien que rien ne soit écrit dans la dépendance du référentiel maven)

Amélioration

Modifiez la bibliothèque JavaMail à charger comme suit.

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

Les deux bibliothèques suivantes seront supprimées. javax.mail-1.6.2.jar activation-1.1.jar

Les classes incluses dans cette bibliothèque "javax.mail" sont des classes liées à "javax.mail ~" et des classes liées à "com.sun.mail ~". J'ai nettoyé les erreurs liées à ClassNotFoundException à l'aide de cette bibliothèque.

Résumé

Les bibliothèques liées au courrier Java sont assez confuses par la structure de groupe similaire. C'est un nom de package qui semble bien fonctionner, et c'est très difficile à comprendre ...

Recommended Posts

Astuces Java: suspectez les dépendances lorsque ClassNotFoundException se produit dans JavaMail
Astuces Java
CONSEILS relatifs au code Java
[Java] Conseils de tri lorsque les chaînes et les nombres sont mélangés