Compiler-Fehler JAR Executable nur mit JDK 6, Fehler JDK7

membersound

Bekanntes Mitglied
Hallo,

ich arbeite mit Netbeans, habe ein JDK 7 Project erstellt. Geht in NB alles wunderbar.
Wenn ich aber Build Project mache und die executable Jar versuche auszuführen, kommt folgender Fehler:

Code:
Java Virtual Machien Launcher:
"Could not find the main class: myapp.MyApp. Program will exit."
Über eine *.bat im selben Verzeichnis mit "java -jar MyApp.jar" funktioniert es hingegen!


Das eigenartige: Wenn ich mein Project auf JDK 6 umstelle (Project properties > Source/Binary Format: JDK 6) und builde, dann lässt sich die Jar mit Doppelclick ausführen! Ohne dass ich eine bat brauche!

Woran liegt das, und vor allem: wie kann ich das beheben?
Auch wenn ich offenbar keine JDK7 Eigenarten benutzt habe, möchte ich ja schon mit der neuesten JDK arbeiten.

Jemand eine Idee?
 
Erzeuge mal die Jar-Datei zuerst mit dem JDK6 und dann mit dem JDK7, schau danach jedes Mal in die Manifest-Datei und poste mal den Inhalt.
Vielleicht gibt es da einen Unterschied.
 
Manifest ist absolut identisch.

Ich habe mal ein Testprojekt (Template von NB) mit v6 und 7 angehangen. Wäre cool, wenn sich das jemand kurz anschauen könnte.
 

Anhänge

Über eine *.bat im selben Verzeichnis mit "java -jar MyApp.jar" funktioniert es hingegen!
Letztendlich wird bei einem Doppelclick auf das jar-File auch nur
Code:
javaw -jar MyApp.jar
ausgeführt.
Funktioniert das mit javaw im batch File auch?
Was ist in der Dateiverknüpfung bzw. in der Registry als open command für ein jar File hinterlegt?
 
Ja, mit einer Batch sowohl mit java als auch javaw funktioniert JDK7.
Das einzige was eben nicht funzt ist der Doppelclick auf eine JDK7 compilierte Jar File.

Interessieren würde mich, ob das nur bei meinem Rechner so ist? Vl könnte sich kurz jemand die Datei aus meinem letzten Post laden und das v7 Jar starten?

Was ist in der Dateiverknüpfung bzw. in der Registry als open command für ein jar File hinterlegt?
Wie bzw wo kann ich das prüfen?
 
Ich habe bei mir eine Java 6 JRE installiert, damit kann ich die für das JRE6 erzeugte Programm per Doppelklick starten. Das für JRE7 erzeugte Programm bringt mir die besagte Fehlermeldung.
Aber das ist nicht unbedingt verwunderlich, ich habe ja keine JRE7 installiert.

Kann es sein, dass du noch eine andere JRE installier hast?

Wie bzw wo kann ich das prüfen?
http://www.java-forum.org/allgemeine-java-themen/29345-jar-executable-erkannt.html
http://www.java-forum.org/allgemeine-java-themen/67233-jar-file-java-exe-jar-vista-oeffnen.html <- mit Tool am Ende
 
Also dieses Jarfix-Tool hat angeblich das Ausführen von Jar files gefixt. Aber man sieht halt nicht ob wirklich was geändert wurde.
Es funktioniert auf jeden Fall immer noch nicht.

Ich habe Java 6 Update 26, Java 7 x64, JDK 7 x64 installiert.
java -version zeigt die richtige Version, und naja es geht mit einer Batch ja auch.
Nur mit dem verflixten Doppelclick nicht...

Mich würde ja weiterhin interessieren, ob hier jemand das v7 Projekt auf seinem Rechner problemlos ausführen kann. Dann würd ich mich damit zu frieden geben und es selbst eben über ne batch starten (wenn auch nervig).
 
Wo steckt denn jetzt die Logik hinter deiner Aussage?
Wenn jemand anderes das mit dem JDK7 erzeugte Jar-File auch nicht starten kann, bedeutet das für dich gleich, dass man da gar nichts machen kann, und du gibst dich mit der Situation zufrieden?
Das bedeutet doch nur, dass was mit dem Jar-File nicht stimmt.
Die JRE7 startet doch auch das mit dem JDK6 erzeugte Jar-File...
 
Ich habe beide Jars aus Deiner zip-Datei getestet.

Beide kann ich mit Java-7 per Doppelklick starten!

Wenn ich Rechtsklick auf die Jar mache und unter "Öffnen mit" nachschaue steht da auch "Java(TM) Platform SE binary".

Ich habe
Java:
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) 64-Bit Server VM (build 21.1-b02, mixed mode)
installiert.
 

Zurück
Oben