java.lang.NoClassDefFoundError: javax/mail/MessagingException

Ho lavorato su un programma che utilizza il Javamail API per l’invio di messaggi di posta elettronica basato su eventi a tempo e a determinate condizioni. Il programma funziona perfettamente in Eclipse (versione più recente) e il javamail e attivatore vasi sono nel build path, come sono javamail dipendenze. Il problema si verifica quando esporto il progetto come un vaso e provare a eseguire. (La traccia dello stack generato è lo stesso che si avrebbe se i javamail vaso manca da Eclipse costruire percorso).

L’analisi dello stack è come segue:

`Exception in thread "Timer-1" java.lang.NoClassDefFoundError: javax/mail/MessagingException
at SpaceCheck.HourlySpaceAlerts(SpaceCheck.java:212)
at WarningReports.run(WarningReports.java:21)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 4 more`

Grazie per il vostro aiuto.

  • Puoi provare a esportare come vaso di includere tutte le dipendenze opzione.
  • Ho “Esportare i file di classe generato e risorse” selezionato, che sarebbe l’opzione corretta?
  • hai trovato una soluzione rapida per questo?

 

2 Replies
  1. 11

    supponendo che hai messo javamail e altre dipendenze in lib/ cartella relativa al tuo esportati in vaso, è necessario dichiarare quei vasetti nel file manifesto:

    Class-Path: lib/javamail.jar
    • Purtroppo ho già fatto, inutilmente.
    • Grazie per il suggerimento, però, è stata positiva.

Lascia un commento