2013-02-23 19 views
7

Ich habe an einem Programm gearbeitet, das die Javamail-API verwendet, um E-Mails basierend auf Zeitereignissen und bestimmten Bedingungen zu senden. Das Programm läuft perfekt in Eclipse (neuste Version) und die javamail- und activator-jars befinden sich im Build-Pfad, genau wie die javamail-Abhängigkeiten. Das Problem tritt auf, wenn ich das Projekt als ein jar exportieren und versuchen, es auszuführen. (Der erzeugte Stack-Trace ist derselbe, der wäre, wenn das Javamail-Jar im Eclipse-Build-Pfad fehlen würde).java.lang.NoClassDefFoundError: javax/mail/MessagingException

Der Stack-Trace ist wie folgt:

`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` 

Dank für Ihre Hilfe danken.

+0

können Sie versuchen, als jar Export mit beinhalten alle Abhängigkeiten Option. – devang

+0

Ich habe "Export generierte Klassendateien und Ressourcen" ausgewählt, wäre das die richtige Option? – user2101299

+0

haben Sie eine schnelle Lösung dafür gefunden? –

Antwort

11

vorausgesetzt, Sie setzen javamail und andere Abhängigkeiten in zu lib/ Ordner relativ zu der exportierten Glas, müssen Sie diese Gläser in Manifest-Datei deklarieren:

Class-Path: lib/javamail.jar 
+0

Leider habe ich das schon vergebens gemacht. – user2101299

+0

Vielen Dank für den Vorschlag, es war ein guter. – user2101299