Swing jar-Dateien starten nicht auf konventionellem Wege.

heavy hikaru

Mitglied
Hallo. Ich habe mir ein kleines Programm erstellt. Generell läuft es auf den PCs meiner Mitmenschen und lässt sich auch per Doppelklick starten. Auf meinem PC jedoch lässt sich das Programm nicht auf konventionellem Wege starten. Bei "öffnen mit>c>windows>system32>java.exe" erscheint für den Bruchteil einer Sekunde eine Konsole mit Fehlermeldung, die dann wieder verschwindet.
Erstellt man jedoch folgende *.bat-Datei
Code:
start "" "C:\windows\system32\java.exe" -jar %1
mit dem Texteditor, lässt sich das Programm einfach mit dieser Datei öffnen. Dann verbleibt jedoch im Hintergrund eine schwarze Konsole, bei deren Schließung auch das Programm geschlossen wird.
Ich habe JDK und JRE schon beide vollständig neu installiert und es hat nicht geholfen. Es wäre schön, wenn das öffnen eines *.jar-Programms auf herkömmlichem Wege funktionieren könnte, wie es das bei meinen Mitmenschen auch tut.
Ich freue mich über Hinweise und Tips und bedanke mich schonmal im Vorraus.
Grüße,
Hikaru.
 
Die Oracle-JRE/JDK installiert sich aber ganz sicher nicht im system32-Verzeichnis deines WindowsXP...
Die Java.exe, die du dort findest, ist wahrscheinlich der Interpreter der veralteten MS-VM.
Die JRE wird standardmäßig unter
Code:
C:\Programme\Java\<Name_des_JDK>
installiert.
Die Umgebungsvariable
Code:
Path
muss so angepasst sein, dass auch der Pfad zum bin-Verzeichnis deiner JDK-Installation darin aufgeführt wird.

Sieh mal zunächst unter dem oben angebenen Verzeichnis nach, ob du dort ein JDK/JRE findest.

Um die Ausgabe in deiner Konsole lesen zu können, kannst du dir eine Batchdatei schreiben:
Code:
@echo off
start C:\windows\system32\java.exe -jar <Deine_Jar.jar>
pause
Aber wie gesagt, ich gehe davon aus, dass du möglicherweise nicht die Oracle-VM aufrufst.
 
Leider hat dein Tip nicht geholfen. Trotzdem danke für die Mühe. Die Java.exe bei system32 und programme sind identisch. als ich jdk neuinstalliert hab, ist auch bei system32 die datei erneuert worden. Folgene fehlermeldung wird bei starversuch des programms für einen sekundenbruchteil in der Konsole angezeigt:

Java:
Exception in thread "main" java.lang.NoClassDefFoundError: C:\Users\XXX\Desktop\ttrrechner/jar
Caused by: java.lang.ClassNotFoundException: C:\Users\XXX\Desktop\ttrrechner.jar
     at java.net.URLClassLoader$1.run(unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.loadClass(Unknown Source)
     at sun.mise.Launcher$AppClassLoader.loadClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: C:\Users\XXX\Desktop\ttrrechner.jar.  Program will exit.

Dabei muss man bedenken, dass das Programm an sich heile ist und sonst auf allen anderen PCs funktioniert.
Ich bedanke mich nochmals im Vorraus für Analysen der Fehlermeldungen. Gruß, Hikaru
 
Sieht eher so aus, als ob du etwas falsches eingegeben hast. Sicher, dass du 1 zu 1 das von L-ectron-X übernommen hast, ohne es zu verändern?

Mit system32 ist allerdings auch komisch. Sollte definitiv nicht passieren. Vllt veränderst du manuell irgendwelche Einstellungen?
 
XHelp hat gesagt.:
Mit system32 ist allerdings auch komisch
Ich hab da auch ne java.exe 😉 meines Wissens nach wird die bei der Installation von java da abgelegt (und die umgebungsvariable JAVACMD verweist darauf)

aber zum Topic:
die fehlermeldung wenn du mit java.exe startest kommt daher, dass der parameter -jar dabei fehlt (welcher bei der .bat ja dabei ist)
wenn du ohne Konsole starten willst musst du javaw.exe statt java.exe nehmen (ebenfalls mit -jar)

normalerweise sind jar dateien automatisch mit "javaw -jar" verknüpft sobald du java installiert hast (wobei so nette programme wie winrar oder nokia suite das gerne ändern:autsch🙂
 
Zuletzt bearbeitet:
falls du jar dateien wieder normal mit java verknüpft haben willst, die zip im anhang entpacken und die reg datei ausführen (die ändert den dafür zuständigen schlüssel in der registry)
 

Anhänge

Neue Themen


Zurück
Oben