Interpreter-Fehler jar Archiv wird nicht ausgeführt

pi31415

Mitglied
Hallo Forum.

Meine erzeugte testapp.jar startet nicht.
Im Taskmanager erscheint kurz der Java Virtual Machine Launcher (javaw.exe), weiter passiert aber nichts.
Ich habe keinen Ansatz, wie z.B. Logfiles, um die Ursache zurück zu verfolgen.

Bis auf das Ausführen des jar-Archivs funktioniert das Kompilieren und Testen einwandfrei:
2011-09-25_java_exp.jpg


Ich kann nur ein Problem mit der MANIFEST.MF vermuten, da ich zuvor wenigstens vom Java Virtual Machine Launcher die Fehlermeldung Failed to load Main-Class manifest attribute from D:\Labor\java\testapp.jar\java\testapp.jar um die Ohren gehauen bekommen habe.
Konnte ich durch den Link in eurem FAQ lösen, eine neue Zeile am Ende der MANIFEST.MF hatte gefehlt.
Durch die fehlende Leerzeile wurde die default-MANIFEST.MF verwendet in der keine Einsprungklasse stand.

Interessant ist jedoch folgendes Verhalten von jar:
2011-09-25_java_exp2.jpg

Öffne ich die MANIFEST.MF aus dem erzeugten jar-Archiv sind am Ende dieser Datei 2 leere Zeilen(!), was für mich die Wurzel des Übels zu sein scheint.

Also zusammengefasst wären meine Fragen:
- Wieso kann ich das jar-Archiv nicht ausführen? (respektive: wieso fabriziert mir jar eine MANIFEST.MF mit 2 Leerzeilen am Ende?
-Wie oder wo kann ich Fehler beim Aufruf meiner Java-Anwendungen nachvollziehen?

Besten Dank im vorraus, der Vollständigkeit halber folgt noch der Code.
Gute Nacht.

Java:
//testapp.java
package helloworld.rectangle;
/**
 * Diesen Dokumentationsstil solltest
 * du dir bei java angewöhnen!
 * Weil man damit angeblich automatisiert dokus erzeugen kann!
 *
*/
public class testapp {
	public static void main ( String[] arguments ){
		rectangle rect = new rectangle ( 1, 5 );
		System.out.println ( "Fläche = " + rect.getarea() + "m^2\n\n\n\n" );
		fufu fu = new fufu ( );
		System.out.println ( "pi = " + fu.getpi() + "!!!ää" );
	}
}

Java:
//rectangle.java
package helloworld.rectangle;
public class rectangle{
	private int height = 1;
	private int width = 1;
	public rectangle () {}
	public rectangle ( int height, int width) 
	{
		this.height = height;
		this.width = width;
	}
	public int getheight () { return height; }
	public int getwidth () { return width; }
	public int getarea () { return height*width; }
	public void setheight ( int height ) { this.height = height; }
	public void setwidth ( int width ) { this.width = width; }
	public void setdimension ( int height, int width) 
	{
		this.height = height;
		this.width = width;
	}
}

Java:
//fufu.java
package helloworld.rectangle;
public class fufu{
	private int pi = 31415;
	public int getpi () { return pi; }
}

myMANIFEST.MF:
[XML]
1: Manifest-Version: 1.0
2: Main-Class: helloworld.rectangle.testapp
3:
[/XML]

make.bat:
[XML]
@REM
@REM 25.09.2011 java experimente
@REM
@cls
@cd d:\Labor\java\helloworld\rectangle\
@REM die beiden "Unterklassen" direkt im entsprechenden Verzeichnis erzeugen
javac rectangle.java
javac fufu.java
@cd d:\Labor\java\
@REM Die "Mainklasse" im Projektverzeichnis erzeugen
javac helloworld/rectangle/testapp.java
@REM Die Testapp testen
java helloworld/rectangle/testapp
@REM Das jar-Archiv erzeugen
@del testapp.jar
jar cfm testapp.jar d:\Labor\java\myMANIFEST.MF helloworld/rectangle/rectangle.class helloworld/rectangle/fufu.class helloworld/rectangle/testapp.class
@REM Das jar-Archiv ausführen
call testapp.jar
[/XML]
 

diggaa1984

Top Contributor
versuche es mal mittels
Code:
java -jar testapp.jar
aufzurufen.

die 2 leerzeilen am ende des manifests sind gewollt :)
 

pi31415

Mitglied
Guten Morgen Digga1984.

In der Shell funktioniert dein Vorschlag:
Code:
java -jar testapp.jar

Vielleicht verstehe ich hier auch etwas Falsch.
Ich möchte das jar-Archiv gerne Person X schicken, die einfach doppelt drauf klickt (JRE natürlich installiert) und sich dann die testapp startet, bzw. eine Konsole mit der testappp startet.

Grüße aus Berlin,
Jan
 

Tobse

Top Contributor
Das mit der Konsole wird nciht funktionieren. Unter windows kann man es zwar so einrichten, dass jars per doppelklick geöffnet werden, aber wenn die JAR keine Frames zeigt bleibt der bildschirm leer.
 

diggaa1984

Top Contributor
ja, also eine jar wird per doppelklick mittels
Code:
javaw
gestartet. Dabei wird keine Konsole verwendet, und daher würde der User auch nix sehen. Du kannst ihm alternativ eine bat-datei schreiben indem du die jar wie von mir gezeigt, mittels
Code:
java -jar
aufrufst (jar und bat im selben verzeichnis => ):

Code:
cmd /k java -jar testapp.jar
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
G Jar-Archiv zum Lesen einer Konfigurationsdatei Java Basics - Anfänger-Themen 9
H Classpath VBScript in Jar-archiv ausführen Java Basics - Anfänger-Themen 2
P Input/Output String via Drag & Drop auf jar-Archiv Java Basics - Anfänger-Themen 2
H Java Archiv lässt sich nur pfadgebunden öffnen? Java Basics - Anfänger-Themen 26
A JUnit Tests in Jar-Archiv packen Java Basics - Anfänger-Themen 2
E Dateien in ein JAR-Archiv packen Java Basics - Anfänger-Themen 2
E Projekt als jar-Archiv speichern Java Basics - Anfänger-Themen 4
M Datei aus .jar Archiv ausführen Java Basics - Anfänger-Themen 4
R NoClassDefFoundError im *jar Archiv Java Basics - Anfänger-Themen 7
F JAR Archiv VM Argumente übergeben Java Basics - Anfänger-Themen 3
M Shellscript aus .jar archiv ausführen Java Basics - Anfänger-Themen 2
D Datei aus einem .jar Archiv aufrufen Java Basics - Anfänger-Themen 4
B jar Archiv anlegen Java Basics - Anfänger-Themen 2
N Ressourcendatei im Jar-Archiv Java Basics - Anfänger-Themen 2
C JAr Archiv erstellen Java Basics - Anfänger-Themen 7
G Applet als Jar-Archiv Java Basics - Anfänger-Themen 15
hdi bilder funktionieren im jar archiv nicht. Java Basics - Anfänger-Themen 3
G Bilder ins jar-Archiv einbinden Java Basics - Anfänger-Themen 1
O Jar-Archiv im Servlet verwenden Java Basics - Anfänger-Themen 3
G Jar archiv Pfadangabe! Java Basics - Anfänger-Themen 5
S Zip Archiv erstellen Java Basics - Anfänger-Themen 9
G leere Ordner befinden sich nicht im Zip-Archiv Java Basics - Anfänger-Themen 8
P Images im Archiv .jar Java Basics - Anfänger-Themen 9
N Datei aus Jar Archiv abspeichern Java Basics - Anfänger-Themen 2
X Datei in einem Archiv ersetzen Java Basics - Anfänger-Themen 4
M eine *.gif datei zum jar archiv hinzufügen Java Basics - Anfänger-Themen 3
O Existenz einer Datei im jar-Archiv überprüfen Java Basics - Anfänger-Themen 2
G pdf Dokument aus .jar Archiv Java Basics - Anfänger-Themen 8
S Classloader JAR Archiv Java Basics - Anfänger-Themen 3
O datei erstellen in jar archiv? Java Basics - Anfänger-Themen 4
G Jar Archiv Java Basics - Anfänger-Themen 3
H Jar-Archiv aus anderem Jar-Archiv aufrufen? Java Basics - Anfänger-Themen 3
J relativer Pfad in jar-Archiv Java Basics - Anfänger-Themen 5
Z Jar-Archiv Classpath Variable Java Basics - Anfänger-Themen 6
G Frage zu zip-Archiv Java Basics - Anfänger-Themen 2
G Wie generiere ich zu diesem Code ein *.jar-Archiv Java Basics - Anfänger-Themen 6
S JAR Archiv erstellen? Java Basics - Anfänger-Themen 7
A Programm findet keine wav-Dateien im jar Archiv Java Basics - Anfänger-Themen 4
A JPEG mit ins JAR-Archiv Java Basics - Anfänger-Themen 3
L jar archiv Java Basics - Anfänger-Themen 5
A .class Datein, jar Archiv ? Java Basics - Anfänger-Themen 2
E ausführbares jar-archiv funktioniert nicht Java Basics - Anfänger-Themen 2
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
P Webseite vom Smartmeter wird nur unleserlich angezeigt Java Basics - Anfänger-Themen 7
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
Oneixee5 Maven Plugin wird 2 mal ausgeführt Java Basics - Anfänger-Themen 10
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
schemil053 Multithread - Input verrutscht während etwas ausgegeben wird Java Basics - Anfänger-Themen 6
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3
_user_q Timer - ScheduledExecutorService wird schon vorher beendet Java Basics - Anfänger-Themen 5
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
L Switch-Case Multiplikation wird nicht ausgegeben Java Basics - Anfänger-Themen 1
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
M Text wird in der Console nicht ausgegeben. Java Basics - Anfänger-Themen 11
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Zweidimensionales Array [][] wird untereinander ausgegeben Java Basics - Anfänger-Themen 14
sserio Math. Befehl wird rot markiert Java Basics - Anfänger-Themen 5
M Rechteck wird nicht angezeigt Java Basics - Anfänger-Themen 3
B Bungeecord | ProxiedPlayer wird nicht in ArrayList hinzugefügt Java Basics - Anfänger-Themen 1
U Methode wird genutzt, ohne dass ich die aufrufe? Java Basics - Anfänger-Themen 4
S Methoden Return Rückgabewert wird nicht übergeben Java Basics - Anfänger-Themen 8
M Mein quellcode wird nicht in der Konsole ausgegeben Java Basics - Anfänger-Themen 3
I Code wird nicht ausgeführt Java Basics - Anfänger-Themen 2
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
K Präzedenregeln in Java sagen, dass +expr und -expr vor + von Addition und - von Addition stehen, warum wird dann z. B. a+b als eine Addition ausgeführ Java Basics - Anfänger-Themen 7
M Was wird hier genau getestet? Java Basics - Anfänger-Themen 9
M Wie schreibe ich eine if-Verzweigung um, so dass ein Bedingungsoperator benutzt wird? Java Basics - Anfänger-Themen 9
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
K Jlabel mit itemlistevent Text gegeben, wird nicht angezeigt Java Basics - Anfänger-Themen 5
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
M Referenzen zuweisen und wird gleichzeitig ausgeführt Java Basics - Anfänger-Themen 6
O System.out.println wird nicht ausgegeben? Java Basics - Anfänger-Themen 11
Zrebna Umgebungsvariable Wieso wird meine verwendete JDK-Version in der Prompt nicht erkannt? Java Basics - Anfänger-Themen 6
el_pato DialogFenster wird nicht in Schleife geöffnet? Java Basics - Anfänger-Themen 30
J if-Schleife innerhalb einer if-Schleife wird in der Konsole nicht gelesen Java Basics - Anfänger-Themen 4
P Apache Derby wird in Eclipse trotz Anbindung nicht gefunden Java Basics - Anfänger-Themen 6
H Array wird als Rückgabewert nicht akzeptiert? Java Basics - Anfänger-Themen 2
Poppigescorn scan.nextInt() wiederholen bis eine Zahl eingeben wird Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben