[Java] Jar-Files ausführen klappt nicht

Vamp_Lord

Cadet 4th Year
Registriert
Juni 2008
Beiträge
84
Hallo liebe Leute !!

Ich krieg einen Rappel, dass ich .jar Files nicht ausführen kann!

Ich habe mir Java von der Homepage runtergeladen, in der aktuellen version 6 update 24 in der 32 sowie auch in der 64 bit version, da ich ja WIN 7 x64 habe.

Bei meinem Kumpel läuft das ohne Probleme.

Die Datei, die zum öffnen der .jar Files benutzt wird ist doch die javaw.exe im C:\Program Files (x86)\Java\jre6\bin oder ?

Benutze ich das Programm taucht folgende Fehlermeldung auf :

Java Virtual Machine Launcher

Could not find the main class:
(pfad zur jar.datei) Programm will exit.

Benutze ich die Javaws.exe taucht ein anderes Fenster auf:

Awendungsfehler
Andwendung konnte nicht gestartet werden.

(ich klicke auf Details) Fehler: Das folgende erforderliche Feld fehlt in der Startdatei: <jnlp>

(Karte Startdatei = Kaudaweltsch) Karte Ausnahme =

MissingFieldException[ Das folgende erforderliche Feld fehlt in der Startdatei: <jnlp>]
at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Die Datei ist DEFINITIV in Ordnung, da es sich dabei um einen Wolrdeditor von Minecraft handelt. Und wie schon oben erwähnt, die datei läuft bei meinem kumpel mit dem gleichen Betriebsystem, gleiches java usw.

Desweiteren habe ich zur Problemlösung das Javakrams schon dutzende male deinstalliert und neu installiert und das bewirkt rein gar nichts !! :(

Ich werd noch verrückt wegen diesem blöden java zeug :freak:
 
naja schaut aber ganz danach aus das deine mincraft datei fehlerhaft is da der main thread fehlt
Ergänzung ()

schreib dir hald mal schnell ein hallo welt programm (quellcode gibts im wikipedia)
des last mal über die console ausführen ob das geht
compilieren nicht vergessen
 
hast du die datei nochmal neu runtergeladen? in seltenen fällen passiert auch hier ein fehler und die datei ist beschädigt.
 
java.exe / javaw.exe ist schon das richtige.

Wie genau sehen deine Aufrufe auf?

> javaw -jar MyJar.jar

?
 
@ Shagg : Ja bei einer datei mag das vllt zutreffen, aber nicht bei allen 8 ....

@ InEvil : welche Exe datei muss ich dafür starten ? was muss ich tun ? Ich muss den Sourcecode ja erst mal in ne Textdatei schreiben , das hab ich soweit schon. Wie kompiliere ich jetzt den kram ? Mit welcher exe ? oder gibts da auch sowas wie eclipse mit nem integrierten editor und compilier ? argh ich möchte mir aber nich zu viel kram drauf hauen ... soll schnell gehn ... zum testen .. wie geht das also kurz und schmerzlos ?

@ Killrog : bei javaw -jar "filename".jar kommt das dabei raus : Failed to load Main-Class manifest attribute from " blalalba ".jar
 
Okay, das deutet aber stark darauf hin, das was mit der jar net in ordnung ist.
Entpack das Ding mal (ist ne normale zip datei), geh in den Ordner META-INF und poste den Inhalt der MANIFEST.MF
 
das kannst du über console compilieren, wenn du das jdk runtergeladen hast.

in der konsole zum zielordner mit der datei wechseln und dann:

javac HalloWelt.java

eingeben.

Sollte dann ein Fehler kommen, von wegen javac nicht gefunden, dann stimmt evtl etwas mit deinen system-/umgebungsvariablen nicht.
 
Sein Path stimmt, sonst könnte er doch keinen StackTrace produzieren -.-

Als Anhang eine Hello World jar-Datei. Muss entsprechend umbenannt werden.
Aufruf durch java -jar Hello.jar
 

Anhänge

gib mal "java -version" auf der Kommandozeile ein und schreib, was kommt...

@Killkrog: Nicht, wenn evtl die 64-Bit-JRE verwendet wird, wenn stattdessen die 32er genommen werden sollte... hatte heute selbst einen solchen Fall...
 
Probiere gleich ma die hello.jar..... bin dabei ;-)

CMD : java -version

Java version "1.6.0_24"
Java(TM) SE Runime Enviroment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)
 
@ Killrog : ich hab die Zip geöffnet! Drinne waren eine Test.class mit kaudawelsch und eine META-INF mit einer MANIFEST.mf datei.

Ich hab jetzt die TEST.class in Helloworld.jar umbenannt und versucht zu starten.

Jetzt kommt : Invalid or corrupt jarfile "blablub"

:(
 
Häh?
Wieso das denn?
Du solltest den INHALT der MANIFEST.mf posten und die Hello.zip in Hello.jar umbennen, nicht entpacken, und mit java -jar Hello.jar ausführen...
 
boar tut mir mega leid XD es ist schon spät :(

Prog läuft ! Ausgabe : Hello World!

MANIFEST.mf kommt gleich ...
Ergänzung ()

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 17.1-b03 (Sun Microsystems Inc.)
Implementation-Title: WorldEdit
Implementation-Version: 3.2.2
WorldEdit-Version: 3.2.2
Class-Path: truezip.jar WorldEdit/truezip.jar js.jar WorldEdit/js.jar
Ergänzung ()

....... Aber ! wenn ich die Hello.jar normal versuche auszuführen, kommt der Fehler wie oben beschrieben ....
 
Tja, wer immer auch diese Jar gebaut hat, er hat im Manifest den Eintrag für die Main-Class vergessen.
Normalerweise sollte da irgendwas stehen wie "Main-Class: package.classname".

Daher auch der Fehler vorhin von dir. (Failed to load Main-Class manifest attribute from "bla".jar)
Tja, das ist halt jetzt echt ungünstig... Nun kann man eigentlich nur raten, wo das ding sein könnte, und entsprechend das Manifest verändern... Du hast gesagt, bei nem Freund gehts. Kannst du den um die Uhrzeit noch ärgern und ihn bitten, seine Manifest mal anzuschauen?
Ansonsten müsstest du mal das Jar (wenn du es entpackst) nach einer .class Datei durchsuchen, die deiner Meinung nach einen Namen hat, der darauf hindeutet, dass da die main() drin sein könnte...
Ergänzung ()

Kannst du mir die jar zukommen lassen oder sagen, wo ich dir herbekomme?
Und was heisst für dich "normal ausführen"?!?! Welcher der vielen Fehler, die du oben genannts hast, kommt dann?
 
Zuletzt bearbeitet:
Hmhm .. sry ich geb dir recht ! Hab mich verlesen und das teil ist nur ein plugin für minecraft ! Das ist für Ingame World editing... und da wird wohl die Mainclass nicht gebraucht...

Aaaaaber ......

Das ändert nichts an der Tatsache, dass ich keine Jarfiles ausführen kann. Das krieg ich nur über die CMD (jetzt endlich mal) hin ... dennoch tauchen bei mir immer noch die komischen fehler oben auf auch bei files, wie dem Hello.jar und dem Patchprogramm ... wovon ich auch gern nochmal die META-INF posten kann ... aber da existiert ein MAIN-Class eintrag .. ;-) ...

Also liegt der fehler in der Regedit datei von windoof ... supi ... grml...
 
Naja, dann schau doch schnell rein in die registry.
Eintrag fürs command sollte so aussehen:
"C:\Program Files (x86)\Java\jre6\bin\javaw.exe" -jar "%1" %*
 
LoL !

bei mir steht nur :

"C:\Program Files (x86)\Java\jre6\bin\java.exe" "%1"
Ergänzung ()

Geändert in "C:\Program Files (x86)\Java\jre6\bin\java.exe" -jar "%1" %*

und zack ! es geht :D er öffnet es endlich normal ohne fehler ... O_o
 
oO
wirklich? für die jarfiles?
Bitter... Und geht alles, wenn du es änderst?

Nochmal eben, damit du nix zerschiesst...
Bei den ROOTS schauen, auf welchen Dateityp die Endung ".jar" verlinkt ist. Bei mir ist das "jarfile".
Und dann auch bei den ROOTS diesen Dateityp suchen und dem seine Command checken. Sollte das sein, was ich oben geschrieben habe...
Ergänzung ()

Haha, na wunderbar :D
Nach 1.5h Dauereinsatz Lösung gefunden :P
Freut mich, dass nun alles geht...
 
halt ! ich komme jetzt nicht ganz mit xD

Also ich hab in den Win7 Programmstandarts dings da geschaut da gibts ja ne liste. Da steht jetzt das .jar ist eine JAR-Datei und wird mit java(TM) Platform SE binary geöffnet ...

was für commands ? was für ROOTS ? wou ? O_o
 
Zurück
Oben