Fehler beim Ausführen von runable Jar

MarRos81

Mitglied
Hallo,

ich habe ein Problem mit meinem Javaprogramm. Ich habe einen Emailversang geschrieben, welcher aus Open Office ausgeführt werden kann. OO führt dazu einfach ein lauffähige Jar-Datei aus. Wenn ich das Programm in Eclipse ausführe, funktionert es ohne Problem, wenn ich nun die Jar ausgebe bekomme ich eine Fehlermeldung. Ich lasse mir die Fehlermeldung in eine TXT-Datei schreiben.

In dieser Methode bekomme ich den Fehler:
Java:
public void runEmail() {
	try {
	Properties mailProperties = new Properties();
	mailProperties.load(this.getClass().getClassLoader().getResourceAsStream(MAIL_PROPERTIES));
	
	String senderAddress = mailProperties.getProperty("mail.smtpauth.sender");
	String smtpHost = mailProperties.getProperty("mail.smtpauth.host");
	String username = mailProperties.getProperty("mail.smtpauth.user");
	String password = mailProperties.getProperty("mail.smtpauth.password");
	
    //String recipientsAddress = null;
    //String cc = null;
    //String subject = null;
	
    
    String recipientsAddress = new ReadFile().lesen("C:\\OOoEmailSending\\EmailData\\To.txt");
    String cc = new ReadFile().lesen("C:\\OOoEmailSending\\EmailData\\Cc.txt");
    String subject = new ReadFile().lesen("C:\\OOoEmailSending\\EmailData\\Subject.txt");
	

		new SendEMail().sendMail(smtpHost, username, password, senderAddress, recipientsAddress, cc, subject);	
	} catch (Exception e){
		String message = "Methode runEMail: "+e.getMessage()+e.getStackTrace() + e.getLocalizedMessage();
		new WriteFile().writeFile(message);
	}
 
}

Die ist die Fehlermeldung:

Code:
Methode runEMail: null [Ljava.lang.StackTraceElement;@10b30a7 null

Der Aufruf in der main -Methode sieht folgendermaßen aus:

Java:
try {
  SendEMail sendEmail = new SendEMail();
  sendEmail.runEmail();
} catch(Exception e) {
  String message = "Methode Main: "+e.getMessage()+e.getStackTrace() + e.getLocalizedMessage();;
  new WriteFile().writeFile(message);
  }
}

Hat jmd. eine Idee, warum ich es aus Eclipse ohne Probleme geht und in der JAR nicht?

Danke schon mal für eure Hilfe!

vg
Martin
 

nrg

Top Contributor
konnte höchstwahrscheinlich die properties nicht finden. manifest angepasst? properties liegen im classpath?

nebenbei würd ich dein logging überdenken bzw gleich mit einer ordentlichen api loggen. mit l4j zb kannst du dir den kompletten stacktrace loggen. in einem string (wie du ja siehst) bringt es wenig getStackTrace() einfach auszugeben. Musst über den StackTrace iterieren und dir das mit einem StringBuilder zusammensetzen (aber besser, wie gesagt, log4j).

edit: allgemein würde ich beim laden von datein mit CL direkt die NPE catchen und eine anständige fehlermeldung ausgeben ("Properties konnten nicht gefunden werden blabla"). Ist sehr blöd nachvollziehbar der Fehler (wie du siehst, selbst für dich als programmierer des tools)
 
Zuletzt bearbeitet:

Sergeant_Pepper

Bekanntes Mitglied
ist die Fehlermeldung nicht etwas ausführlicher?

Mir ist beim Property-Lesen mit getResourceAsStream auch schon mal eine NullPointerException passiert, weil die Position der Property-Datei nicht passte.
 

MarRos81

Mitglied
konnte höchstwahrscheinlich die properties nicht finden. manifest angepasst? properties liegen im classpath?

nebenbei würd ich dein logging überdenken bzw gleich mit einer ordentlichen api loggen. mit l4j zb kannst du dir den kompletten stacktrace loggen. in einem string (wie du ja siehst) bringt es wenig getStackTrace() einfach auszugeben. Musst über den StackTrace iterieren und dir das mit einem StringBuilder zusammensetzen (aber besser, wie gesagt, log4j).

was genau ist der manifest? Kenne diesen Begriff leider nicht. Der Classpath der Datei "MAIL_PROPERTIES" sollte passen, vorausgesetzt, dass man es über die Projekteigenschaften und Java Build Path und Add Variables macht.

Wo finde ich etwas über l4j, ich bekomme da nur komisch Seiten!
 
Zuletzt bearbeitet:

nrg

Top Contributor
öffne deine .jar mit WinRar (oder einem vergleichbarem Tool) gehe unter \META-INF und öffne die MANIFEST.MF mit dem editor. dort muss die Zeile:
[c]
Class-Path: .
[/c]
vorhanden sein. Dann noch die Properties in das Verzeichnis zur .jar legen.

Die jar speichern und die Änderungen auch von WinRar übernehmen lassen.

Falls du noch auf libs zugreifst könnte das so aussehen:
[c]
Class-Path: lib/log4j-1.2.15.jar .
[/c]

(der . gibt das Verzeichnis von der .jar an)

Nicht vergessen (hab das irgendwo mal gehört, ka obs wirklich stimmt), dass die Manifest am Ende noch eine Leerzeile haben muss.
Code:
Manifest-Version: 1.0
Main-Class: de.projekt.ka.Main
Class-Path: .
 

MarRos81

Mitglied
öffne deine .jar mit WinRar (oder einem vergleichbarem Tool) gehe unter \META-INF und öffne die MANIFEST.MF mit dem editor. dort muss die Zeile:
[c]
Class-Path: .
[/c]
vorhanden sein. Dann noch die Properties in das Verzeichnis zur .jar legen.

Die jar speichern und die Änderungen auch von WinRar übernehmen lassen.

Falls du noch auf libs zugreifst könnte das so aussehen:
[c]
Class-Path: lib/log4j-1.2.15.jar .
[/c]

(der . gibt das Verzeichnis von der .jar an)

Nicht vergessen (hab das irgendwo mal gehört, ka obs wirklich stimmt), dass die Manifest am Ende noch eine Leerzeile haben muss.
Code:
Manifest-Version: 1.0
Main-Class: de.projekt.ka.Main
Class-Path: .

OK, wenn ich die property -Datei direkt zur JAR lege geht es.
Mir ist nur nicht ganz klar, wie ich den Classpath verändern muss, bzw. was ich machen muss, dass die Datei auch in einem bestimmten Ordner abgelegt werden kann.

Zum Beispiel so:

die *.jar liegt auf c:\HierLiegtDieJar

und die Propertiedatei liegt hier: C:\hierliegtDieJar\PropertyDatei\

Geht das überhaupt?
 

nrg

Top Contributor
hmm. probiers mal mit
Class-Path: HierLiegtDieJar/

hab ich ehrlich gesagt noch net getestet. hatte die properties bis jetzt immer im gleichen Verzeichnis. Wie gesagt, bei externen jars funktioniert es so:
HierLiegtDieJar/lib/deineExterne.jar

Class-Path: lib/deineExterne.jar

deshalb müsste das schon hinhauen. try&error. probier einfach weng rum
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
S Fehler beim Ausführen Java Basics - Anfänger-Themen 5
1 Erste Schritte ständige Fehler beim Ausführen von Hello World Java Basics - Anfänger-Themen 6
J Compiler-Fehler .jar Datei erstellt aber beim Ausführen Fehler Java Basics - Anfänger-Themen 5
J Fehler beim Ausführen von Programm Java Basics - Anfänger-Themen 3
D Class not found fehler beim ausführen unter konsole : / Java Basics - Anfänger-Themen 2
G Fehler beim Ausführen HILFE! Java Basics - Anfänger-Themen 12
G Fehler beim ausführen einer JSP Java Basics - Anfänger-Themen 5
0 Folgender Fehler beim Ausführen eines Java Programms Java Basics - Anfänger-Themen 8
G Fehler beim ausführen. Java Basics - Anfänger-Themen 3
W Fehler beim ausführen der Javadateien Java Basics - Anfänger-Themen 3
E Fehler NullPointer beim Ausführen Java Basics - Anfänger-Themen 4
L Fehler beim ausführen! Java Basics - Anfänger-Themen 14
C Fehler beim Ausführen Java Basics - Anfänger-Themen 3
Z Fehler beim Ausführen meiner Testdatei in JBuilder Java Basics - Anfänger-Themen 7
Juelin jedit Fehler beim starten Java Basics - Anfänger-Themen 2
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
S Fehler beim Programm Java Basics - Anfänger-Themen 2
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
Kirby.exe Fehler beim Ausgeben Java Basics - Anfänger-Themen 2
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
K Fehler beim Programmieren von TicTacToe Java Basics - Anfänger-Themen 12
L Fehler beim laden eines Icons Java Basics - Anfänger-Themen 3
U Best Practice Fehleranalyse, welche Fehler macht Ihr beim Lernen bzw. auch später Java Basics - Anfänger-Themen 12
M GUI - Fehler abfangen beim Dividieren Java Basics - Anfänger-Themen 8
E Fehler beim Debuggen einer jsp-Datei Java Basics - Anfänger-Themen 3
J Fehler beim Runden Java Basics - Anfänger-Themen 3
V Klassen Fehler beim compilieren einer Datei in CamelCase Java Basics - Anfänger-Themen 2
C Erste Schritte Fehler beim *.class Aufruf über cmd.exe Java Basics - Anfänger-Themen 9
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
B Input/Output Fehler beim Übertragen eines ObjectOutputStreams. Java Basics - Anfänger-Themen 0
T Fehler beim ActionListener Java Basics - Anfänger-Themen 2
W Fehler beim verlängern des Arrays Java Basics - Anfänger-Themen 5
S Seriealiserung Fehler beim Landen Java Basics - Anfänger-Themen 1
Matze 12 häufige Fehler beim Programmieren lernen Java Basics - Anfänger-Themen 2
R [Erledigt]Fehler beim löschen von einzelnen Buchstaben aus StringBuilder Java Basics - Anfänger-Themen 1
N Fehler beim importieren vom package Java Basics - Anfänger-Themen 2
I beim auslesen der Properties gibt es ein Fehler Java Basics - Anfänger-Themen 7
T Fehler beim Schreiben in Dateien! Java Basics - Anfänger-Themen 4
A Erste Schritte Nicht zu findender Fehler beim Auslesen eines Buchstabens Java Basics - Anfänger-Themen 4
X Fehler beim Öffnen von Jar Datei: "kein Hauptmanifestattribut" Java Basics - Anfänger-Themen 5
B Erste Schritte Fehler beim starten Java Basics - Anfänger-Themen 12
A Resize-Fehler (nur) beim waagrecht Verkleinern Java Basics - Anfänger-Themen 5
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
S fehler beim datum parsen Java Basics - Anfänger-Themen 6
F Genereller Fehler beim Starten des Javaprogramms Java Basics - Anfänger-Themen 3
K taschenrechner - Fehler beim Kürzen eines Bruches finden Java Basics - Anfänger-Themen 20
G Fehler beim Umwandeln eines Strings in int Java Basics - Anfänger-Themen 8
B Object "Method" in TreeSet, Fehler beim Vergleichen/Comparable Java Basics - Anfänger-Themen 9
F HttpURLConnection Fehler beim Quelltext holen Java Basics - Anfänger-Themen 6
S Fehler beim Auslösen des ActionListeners in Verbindung mit einer Queue Java Basics - Anfänger-Themen 5
D Fehler beim Compilen Java Basics - Anfänger-Themen 8
A Fehler beim Umschreiben in Array Java Basics - Anfänger-Themen 6
K Fehler beim Einfügen eines Programm Icons Java Basics - Anfänger-Themen 6
M Fehler beim Übergeben von Daten an JTable Java Basics - Anfänger-Themen 14
T Fehler beim Konvertieren (String --> Float) Java Basics - Anfänger-Themen 5
H TicTacToe Fehler beim Compilieren Java Basics - Anfänger-Themen 7
S mögliche Fehler beim Initialisieren von Variablen Java Basics - Anfänger-Themen 19
N Datentypen Fehler beim Umwandeln in byte Java Basics - Anfänger-Themen 3
StrikeTom Fehler beim Audiodatei abspielen Java Basics - Anfänger-Themen 4
StrikeTom Fehler beim bildanzeigen Java Basics - Anfänger-Themen 10
A jexcelapi fehler beim einrichten Java Basics - Anfänger-Themen 2
M Fehler beim Compilieren Java Basics - Anfänger-Themen 2
S Fehler beim berechnen von MD5 Java Basics - Anfänger-Themen 7
M Fehler beim Compilieren Java Basics - Anfänger-Themen 4
S Fehler beim Speichern von MP3-Stream Java Basics - Anfänger-Themen 6
R Derby-Datenbank: Fehler beim Zugriff im Embedded Modus Java Basics - Anfänger-Themen 27
G Fehler beim builden javax...... Java Basics - Anfänger-Themen 4
L Fehler beim Aufruf eines Applet Java Basics - Anfänger-Themen 2
hdi Fehler beim Model-Update einer JList (DefaultListModel) Java Basics - Anfänger-Themen 3
C Fehler beim ausgführen von Java App als nicht Admin u. Vista Java Basics - Anfänger-Themen 6
H JavaMail: Beim Versenden tritt ein Fehler auf! Java Basics - Anfänger-Themen 4
K Fehler beim complieren Java Basics - Anfänger-Themen 5
R fehler beim incrementellen schreiben in einen vector Java Basics - Anfänger-Themen 11
O Linux - Fehler beim kompilieren - HILFE Java Basics - Anfänger-Themen 4
T Fehler beim Compilieren Java Basics - Anfänger-Themen 5
G Fehler beim Aufruf eine Javamethode über JSP Java Basics - Anfänger-Themen 8
G Fehler beim erneuten Öffnen von JInternalFrame Java Basics - Anfänger-Themen 7
R Fehler beim Programm Java Basics - Anfänger-Themen 20
C Fehler beim build. nur wo? Java Basics - Anfänger-Themen 2
B Fehler beim einbinden eines Packages Java Basics - Anfänger-Themen 6
J Fehler beim Starten der .class Java Basics - Anfänger-Themen 21
V Fehler beim Kompilieren der Unterklasse Java Basics - Anfänger-Themen 2
G Fehler beim kompilieren Java Basics - Anfänger-Themen 18
W Fehler beim Compilen Java Basics - Anfänger-Themen 9
D [JCreator] Einrichten - Fehler beim Kompilieren Java Basics - Anfänger-Themen 14
T Chaosprogrammierer hat einen fehler beim casten? Java Basics - Anfänger-Themen 5
D Fehler beim Aufrufen von Instanzvariablen Java Basics - Anfänger-Themen 5
M Problem beim Aufruf einer Methode: Wo is der Fehler? Java Basics - Anfänger-Themen 12
D Fehler beim kompilieren einer Java-Datei (javac) Java Basics - Anfänger-Themen 6
F Fehler beim Schreiben wenn Datei schreibgeschützt abfangen Java Basics - Anfänger-Themen 6
I Fehler beim Compilen Java Basics - Anfänger-Themen 10
T Fehler beim Laden eines Applets Java Basics - Anfänger-Themen 16
O Programm-Fehler beim einlesen von RGB werten Java Basics - Anfänger-Themen 5
F Fraktal fehler beim kompalieren Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben