Exception beim Ausführen per Konsole

Luk10

Top Contributor
Grüße,

ich habe mit Eclipse eine runnable .jar Datei erstellt. Diese funktioniert sowohl auch einwandfrei, wenn ich sie per Doppelklick ausführe. Wenn ich jedoch die Datei mit java -jar in der Konsole ausführe fliegt folgende Excetion:

Java:
java.lang.ClassNotFoundException: e.a
        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)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at java.io.ObjectInputStream.resolveClass(Unknown Source)
        at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
        at java.io.ObjectInputStream.readClassDesc(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at de.greenOwlProduction.diabloStatistics.b.c.a(Unknown Source)
        at de.greenOwlProduction.diabloStatistics.b.c.a(Unknown Source)
        at de.greenOwlProduction.diabloStatistics.GopDisplay.<init>(Unknown Sour
ce)
        at de.greenOwlProduction.diabloStatistics.GopDisplay.main(Unknown Source
)
java.lang.ClassNotFoundException: e.c
        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)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at java.io.ObjectInputStream.resolveClass(Unknown Source)
        at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
        at java.io.ObjectInputStream.readClassDesc(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at de.greenOwlProduction.diabloStatistics.b.c.a(Unknown Source)
        at de.greenOwlProduction.diabloStatistics.b.c.b(Unknown Source)
        at de.greenOwlProduction.diabloStatistics.GopDisplay.<init>(Unknown Sour
ce)
        at de.greenOwlProduction.diabloStatistics.GopDisplay.main(Unknown Source
)
Exception in thread "main" java.lang.NullPointerException
        at de.greenOwlProduction.diabloStatistics.e.m.j(Unknown Source)
        at de.greenOwlProduction.diabloStatistics.e.m.<init>(Unknown Source)
        at de.greenOwlProduction.diabloStatistics.GopDisplay.<init>(Unknown Sour
ce)
        at de.greenOwlProduction.diabloStatistics.GopDisplay.main(Unknown Source
)

Liegt wohl an der Serialisierung, die verwendet wird, jedoch kann ich mir nicht erklären wieso die ClassNotFoundExcetions (nur) beim Ausführen per Konsole fliegen.

Danke,
-Luk10-
 
G

Gast2

Gast
Du hast Klassen die
Code:
e.a
und
Code:
e.c
heißen?! Dazu noch eine jar Datei b.jar?

Was genau machst du in deinem Code dass die Exception fliegen? Wo kommen die Klassen e.a etc. her, liegen die in dem jar file?
 

Luk10

Top Contributor
Der Code ist obfuscated ... daher die komischen Namen. Die Klassen liegen alle in der (einzigen) .jar Datei

Es soll ein, in einer existierenden Datei gespeicherten, serialisiertes Objekt per Object-Input-Stream de-serialisiert werden.

Das Objekt "gehört" zu einer unveränderten Klasse aus der .jar Datei.
 
Zuletzt bearbeitet:

DaveIT

Mitglied
Ganz schnell würde ich mal vermuten das die Exceptions ohne Konsole nicht abgefangen werden. Daher treten sie beim Ausführen durch Doppelklick zwar auf, nur werden sie nicht angezeigt.
 

Cola_Colin

Top Contributor
Der Code ist obfuscated ... daher die komischen Namen. Die Klassen liegen alle in der (einzigen) .jar Datei

Es soll ein, in einer existierenden Datei gespeicherten, serialisiertes Objekt per Object-Input-Stream de-serialisiert werden.

Das Objekt "gehört" zu einer unveränderten Klasse aus der .jar Datei.

Du kannst nicht ein Objekt einer Klasse A erst serialisieren, dann die Klasse in AX umbennen(d.h. obfuscaten) und danach A zu AX deserialieren. Da knallt es, weil A nicht mehr gefunden werden kann.
 

Noctarius

Top Contributor
Wenn man Serialisierung und Obfucation nutzt, muss man dem Obfuscator bei wiederholten Obfuscation-Durchläufen eine alte Mapping-Datei mitgeben, damit die Klassen jedesmal die selben Obfuscated-Names bekommen, ansonsten werden neue Namen gewürfelt.

Sinnvoller ist es wahrscheinlich die Daten von Hand zu speichern (DataInputStream / DataOutputStream). Wenn sich dein Objekt nicht ändert, weißt du ja wie die Daten im Bytestream stehen.

Zum eigentlichen Problem:
Der Obfuscator erzeugt so ein Mapping-File normalerweise automatisch, schau halt nach welche Klasse das wirklich ist und du weißt welche Klasse fehlt.
Je nach Obfuscator kann diese beim Vorgang als "Unused" markiert und entfernt worden sein, da sie z.B. nur über sehr seltsame Refelection-Calls ohne auffindbaren, kompletten Canonical Path genutzt wird.

Generell bringt Obfuscation immer ganz neue Probleme mit sich.
Ich habe mal alleine 2 Tage an einem Programm gehangen bis ich den Obfuscator so konfiguriert hatte, dass auch nach der Obfuscation noch alles läuft. Du kannst danach quasi das gesamte Programm noch einmal an die QA geben zum Testen.
 
Zuletzt bearbeitet:

Luk10

Top Contributor
Vielen Dank für die Antworten. Hab das jetzt mit "normalem" Code gestestet und dort funktioniert es einwandfrei.

Da ich Obfuscation eh nicht wirklich brauche, meide ich es erstmal und erspare mir die ganze Arbeit die Noctarius angesprochen hat.

-Luk10-
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
C Exception beim Aufruf einer Methode Java Basics - Anfänger-Themen 2
H Exception beim umwandeln von String zu int Java Basics - Anfänger-Themen 4
S Schlechter Stil beim Exception Handling Java Basics - Anfänger-Themen 6
A Null Pointer Exception beim Erstellen eines Arrays aus einer eigenen Klasse Java Basics - Anfänger-Themen 3
W "Fatal exception Error" beim starten einer .jar Datei Java Basics - Anfänger-Themen 3
J Exception beim Bilder aufruf Java Basics - Anfänger-Themen 19
T Exception-Handling beim Lesen einer XML-Datei mit XMLDecoder Java Basics - Anfänger-Themen 4
R Exception beim Objekt speichern Java Basics - Anfänger-Themen 6
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
G Exception Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
J null exception Array Java Basics - Anfänger-Themen 5
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
C Exception-Frage Java Basics - Anfänger-Themen 3
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
N Wie teste ich eine geworfene Exception? Java Basics - Anfänger-Themen 8
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception werfen bei falscher Datumseingabe Java Basics - Anfänger-Themen 14
A Exception handeling mit finally und objektreferenzen Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
S Exception Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
J Exception unreachable Java Basics - Anfänger-Themen 12
O unchecked Exception Java Basics - Anfänger-Themen 4
P Exception werfen Java Basics - Anfänger-Themen 15
S Exception bei Verwendung von LocalDate Java Basics - Anfänger-Themen 19
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
D Warum die Nullpointer Exception Java Basics - Anfänger-Themen 6
O Exception behandlung einfach Ueben mit Fakt! Java Basics - Anfänger-Themen 10
I OOP Was ist die "Exception Hierarchie" ? Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
H Try Catch Throw Exception Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
Mosquera Exception Java Basics - Anfänger-Themen 5
M rekursive division/0 mit exception Java Basics - Anfänger-Themen 18
N Nullpointer exception Java Basics - Anfänger-Themen 4
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
S Array Grenzen-Exception Java Basics - Anfänger-Themen 11
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
G Arrays out of Bounds exception Java Basics - Anfänger-Themen 2
H Compiler-Fehler Out of Bunce Exception bei einem Char Java Basics - Anfänger-Themen 6
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
C Null Pointer Exception Java Basics - Anfänger-Themen 10
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
G Null Pointer Exception Java Basics - Anfänger-Themen 4
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
O Exception bei Parse-Vorgang Java Basics - Anfänger-Themen 17
T Exception Problem Java Basics - Anfänger-Themen 5
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
W Nullpointer Exception bei .add(...) Java Basics - Anfänger-Themen 6
L Input/Output InputMismatch.Exception Java Basics - Anfänger-Themen 7
B Exception Liste von Liste Java Basics - Anfänger-Themen 3
D Throw Exception Java Basics - Anfänger-Themen 2
MiMa JavaDoc Exception @throws schlagen an Java Basics - Anfänger-Themen 4
J Exception in thread "main" Java Basics - Anfänger-Themen 1
B Exception richtig einbinden Java Basics - Anfänger-Themen 1
M Exception soll Werte mitgeliefert bekommen Java Basics - Anfänger-Themen 12
M Selbstdefinierte Exception Java Basics - Anfänger-Themen 5
B Exception Throwable Java Basics - Anfänger-Themen 11
M Erste Schritte Start Methode - Exception Java Basics - Anfänger-Themen 1
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
F nullpointer exception - arrayerstellung Java Basics - Anfänger-Themen 4
K Iterator-Interface implementieren mit Exception Handlung Java Basics - Anfänger-Themen 1
H Erste Schritte Exception: 0 Java Basics - Anfänger-Themen 2
A Exception vs. Testklasse (Programm testen) Java Basics - Anfänger-Themen 2
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Exception nur im "Debug"-Modus und jedem 3.-5. mal Ausführen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben