jar-archive ausführen/manifest.mf

Status
Nicht offen für weitere Antworten.

ayrton89

Mitglied
hallo,

ich bin gerade dabei, java zu lernen. ich habe das jdk (unter windows xp) erfolgreich installiert und auch schon erfolgreich programme mit javac kompiliert und mit java ausgeführt. nun wollte ich ein archiv erstellen, was soweit auch funktioniert hat. um dieses mit doppelklick ausführbar zu machen, muss man ja nun der manifest-datei den eintrag mit der vollständig qualifizierten hauptklasse hinzufügen.

dazu habe ich eine textdatei 'MFmain.txt' mit dem inhalt 'Main-Class: program.app.Main' erstellt und wollte diese mit der manifest-datei verschmelzen. der befehl sah wie folgt aus:

Code:
jar cmf program/app/MFmain.txt program/app/main.jar program/app/Main.class

danach habe ich das jar-archiv entpackt (mit winrar) und mir die manifest-datei angesehen, in der der eintrag jedoch nicht vorhanden war. beim doppelklick auf die jar-datei kam nach wie vor die fehlermeldung der jvm.

dann las ich, dass es seit java 6 die möglichkeit gibt, mit dem schalter e direkt die hauptklasse beim erstellen des archivs anzugeben. ich probierte also folgendes:

Code:
jar cfe program/app/main.jar program.app.Main program/app/Main.class

danach wieder das archiv entpackt, manifest-datei angesehen, und siehe da, der eintrag 'Main-Class: program.app.Main' war vorhanden. jedoch leiß sich das archiv per doppelklick immernoch nicht starten, stattdessen passierte einfach gar nichts (eigentlich hätte sich ein swing-fenster öffnen sollen). beim versuch, die jar-datei über die konsole auszuführen

Code:
java -jar program/app/main.jar

bekam ich die meldung

Code:
Exception in thread "main" java.lang.NoClassDefFoundError: program/app/Main$1 at program.app.Main.main(Main.java:18)

was kann ich tun, um jar-dateien ausführbar zu machen?

danke und gruß
ayrton89
 

Wildcard

Top Contributor
In deinem jar scheint die Klasse Main$1 zu fehlen (eine anoyme innere Klasse).
Ich würde dir allerdings empfehlen jars mit einer IDE zu erstellen. Von Hand IMO zu mühsam...
 

ayrton89

Mitglied
ich habe in meinem program keinerlei innere klassen definiert, wozu sollen da welche drin sein?

ich will es aber zunächst von hand lernen.
 

ayrton89

Mitglied
hallo nochmal....

ich habe jetzt mal den actionlistener rausgenommen, und danach hat es tatsächlich funktioniert. nur ist es ja doof, wenn man nicht ereignisorientiert programmieren kann. was muss man extra machen, um auch solche archive zum laufen zu bekommen?
 

Der Müde Joe

Top Contributor
ayrton89 hat gesagt.:
was muss man extra machen, um auch solche archive zum laufen zu bekommen?

einfach alle Klassen in die Jar packen

dein

jar ....... /app/MyClass.class

packet genau 1 datei da rein.....egal ob innerer Klasse Interface oder sonst ne Klasse.
Die anderen fehlen dann einfach
 

ayrton89

Mitglied
ich selbst habe ja auch nur eine einzige klasse geschrieben. nur darin wurde eben das interface actionlistener implementiert, und damit funktionierte es nicht mehr.
 

Wildcard

Top Contributor
Du hast den Listener als anonyme innere Klasse erstellt, genau das habe ich versucht dir mitzuteilen.
Aus deiner einen .java Datei werden daher zwei .class Dateien und die müssen beide in das jar.
 

ayrton89

Mitglied
oh ja, danke Wildcard :D

sorry, wusste nicht dass für jede innere klasse eine eigene .class-datei erstellt wird :oops: hab gerade erst angefangen und bin wohl noch ein bisschen überfordert...

aber danke, jetzt habe ich es auch mit innerer klasse hinbekommen, dankeschön :D

grüße
ayrton89
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I ZIP Archive erstellen - ich möchte aber nur den jeweiligen Ordner zippen, bekomme ganzen Pfad Java Basics - Anfänger-Themen 1
E Suchmaske für zip-Archive Java Basics - Anfänger-Themen 3
O Will ein Jar-Archive machen mit FAT JAR - geht nicht ! Java Basics - Anfänger-Themen 2
W [Java Archive (JAR) Datei erstellen] Lässt sich nicht ausfürhren Java Basics - Anfänger-Themen 7
H archive vergleichbarer Paramter unter Tag Object mit Parameter codetype="application/java-vm" Java Basics - Anfänger-Themen 3
C Jar-Archive Java Basics - Anfänger-Themen 9
T Jar-Archive kein System.out.println()?? Java Basics - Anfänger-Themen 5
B ausführbares jar archive erstellen Java Basics - Anfänger-Themen 4
G Woher bekomme ich passende .jar-Archive Java Basics - Anfänger-Themen 8
A Jar-Archive zur Laufzeit erstellen Java Basics - Anfänger-Themen 3
O Obfuscateter Code lässt sich nicht ausführen? Java Basics - Anfänger-Themen 7
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
E Audio Datei unter Bedingungen ausführen Java Basics - Anfänger-Themen 19
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
C 2 SwingWorkers nacheinander ausführen Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
Alex_99 Aktion ausführen wenn Frame disposed wurde Java Basics - Anfänger-Themen 5
mervanpolat Binary Search Algorithmus ausführen Java Basics - Anfänger-Themen 1
hebein Mit Javaprogramm webseiten automatisiert befüllen und ausführen Java Basics - Anfänger-Themen 6
Jose05 ausführen im cmd schlägt fehl Java Basics - Anfänger-Themen 2
N Eclipse Programm normal ausführen Java Basics - Anfänger-Themen 1
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
Z Mehtode bei Start des Programms ausführen (Klassen übergreifend) Java Basics - Anfänger-Themen 12
J B-Sprache mit Arrays ausführen Java Basics - Anfänger-Themen 18
C Programm ausführen ohne JRE? Java Basics - Anfänger-Themen 3
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
T src Ordner ausführen Java Basics - Anfänger-Themen 9
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
F cmd Befehl ausführen Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
M Rot Schwarz Bäume, ausführen? Java Basics - Anfänger-Themen 6
CptK Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
F Shell Script ausführen Java Basics - Anfänger-Themen 5
F Java auf Windows Konsole ausführen Java Basics - Anfänger-Themen 1
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
L Shell Script ausführen in Java Java Basics - Anfänger-Themen 4
K Programm ausführen Java Basics - Anfänger-Themen 2
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
G sqlplus commands in java ausführen Java Basics - Anfänger-Themen 15
CptK Interface JTextField: Action mit Enter ausführen Java Basics - Anfänger-Themen 16
CptK Methoden Methode in MouseListner ausführen Java Basics - Anfänger-Themen 1
P jar file lässt sich nicht ausführen Java Basics - Anfänger-Themen 4
N Fehlermeldung beim ausführen des Programmes.. Java Basics - Anfänger-Themen 3
T Klassen 2 Klassen zeitgleich ausführen Java Basics - Anfänger-Themen 3
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
diqqerrr Java Datei als .exe ausführen Java Basics - Anfänger-Themen 8
I Erste Schritte Native code library failed to load beim Ausführen eines Beispiels Java Basics - Anfänger-Themen 5
Z Enter Taste alle 0,5 Sekunden ausführen Java Basics - Anfänger-Themen 1
H Script ausführen wenn Browser Notification eingetroffen ist? Java Basics - Anfänger-Themen 3
S Methoden Beim Start meines Projektes eine Methode ausführen Java Basics - Anfänger-Themen 14
V Methode eines Objekts einer ArrayList ausführen Java Basics - Anfänger-Themen 3
B Timer mehrere Male ausführen Java Basics - Anfänger-Themen 4
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
RowdyN Methoden Befehle in zufälliger Reihenfolge ausführen lassen Java Basics - Anfänger-Themen 5
T Parallel ausführen Java Basics - Anfänger-Themen 1
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
S .java Datei in java Datei ausführen Java Basics - Anfänger-Themen 9
X Schleife bis "Bedingung" ausführen Java Basics - Anfänger-Themen 13
AssELAss Klassen Java Klasse in main-methode ausführen Java Basics - Anfänger-Themen 7
H Classpath VBScript in Jar-archiv ausführen Java Basics - Anfänger-Themen 2
F Thread um Uhrzeit ausführen Java Basics - Anfänger-Themen 5
D Input/Output Mehrere Befehle nacheinander ausführen Java Basics - Anfänger-Themen 20
quecksilver if-Abfrage in main ausführen Java Basics - Anfänger-Themen 4
F Per Klick Klasse ausführen Java Basics - Anfänger-Themen 4
S Fehler beim Ausführen Java Basics - Anfänger-Themen 5
A Methode aus einer anderen Klasse ausführen Java Basics - Anfänger-Themen 7
F Methode alle 15min ausführen Java Basics - Anfänger-Themen 5
K Exception nur im "Debug"-Modus und jedem 3.-5. mal Ausführen Java Basics - Anfänger-Themen 3
L Konsole öffnen und Java Programm darin ausführen Java Basics - Anfänger-Themen 4
J Ausführen geht nicht Java Basics - Anfänger-Themen 19
K Tastaturkombinationen ausführen Java Basics - Anfänger-Themen 5
S URL Ausführen Java Basics - Anfänger-Themen 2
D Fehlermeldung beim Ausführen eines Java Programms Java Basics - Anfänger-Themen 4
H Funktion in Hintergrund und Vordergrund ausführen Java Basics - Anfänger-Themen 11
J Eingabeaufforderung stürzt ab (beim Ausführen einer Java-Datei) Java Basics - Anfänger-Themen 3
V Algorithmus in einer Methode ausführen Java Basics - Anfänger-Themen 3
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
M Komplexe Datenauswertungen in Java oder besser auf Datenbankseite ausführen? Java Basics - Anfänger-Themen 4
E Anderes Programm ausführen Java Basics - Anfänger-Themen 8
I .lnk ausführen oder das Ziel auslesen Java Basics - Anfänger-Themen 7
L0MiN Datei lässt sich nicht ausführen Java Basics - Anfänger-Themen 3
G Variabel: Nach String benannte Methode ausführen Java Basics - Anfänger-Themen 13
S Unterschied .jar Datei ausführen und junit Testfall... Java Basics - Anfänger-Themen 3
T kann methode nicht ausführen Java Basics - Anfänger-Themen 5
D main-Methode und Tread parallel ausführen Java Basics - Anfänger-Themen 0
F Problem bei eshop -> Ausführen einer Methode über eine Shopverwaltung Java Basics - Anfänger-Themen 6
N Mit Java Befehle auf Konsole ausführen Java Basics - Anfänger-Themen 4
P Aktion ausführen wenn Button geklickt wird Java Basics - Anfänger-Themen 7
C CMD Befehl + Variable im Java-Code ausführen Java Basics - Anfänger-Themen 8
F Glassfish APP über SSL ausführen Java Basics - Anfänger-Themen 0
0 Über CMD die JAVA Datei ausführen? möglich? Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben