Java Anwendungen starten

Tockra

Lt. Commander
Registriert
Dez. 2008
Beiträge
1.063
Hallo Leute,

Ich habe schon ein paar Anwendungen in Java geschrieben, aber muss gestehen, dass ich noch nie eine kompeliert und gestartet habe. Nun habe ich es das erste mal gemacht und musste feststellen, dass die .jar Datei die dabei raus kam nur per Konsolenanwendung mit : java -jar name.jar zu starten ist. Mache ich es per Doppelklick oder ohne Parameter, bekomme ich den Fehler : "Fehler: Hauptklasse DataCheck.jar konnte nicht gefunden oder geladen werden".
Wie bekomme ich es nun hin, dass die Datei ausgeführt wird, ohne das ich eine .bat schreiben muss?
 
Wenn du Eclipse benutzt, musst du ein "Executable Jar" erstellen. Dann enthält das Jar noch eine Manifest-Datei, die auf die Klasse mit der Main-Methode zeigt.
 
Dann schau mal nach, was in der Manifest-Datei steht.

Da müsste dann das stehen ,,Main-Class: deinPackage.deineKlasse''.
 
Du kannst entsprechende Verknüpfungen über die Dateitypen (ich nehme an, es geht um Windows) definieren, wo du "-jar" immer mitgibst ("javaw.exe" -jar "%1" %*), aber wenn es nicht das Standardverhalten ist, würde es dann auch nur bei dir funktionieren, nicht auf anderen Rechnern (falls du die Programme weitergeben möchtest).

In der Hinsicht sicherer ist eine native *.exe, die die Anwendung lädt. JDownloader macht es z.B. so.
 
Zuletzt bearbeitet:
powerfx schrieb:
In der Hinsicht sicherer ist eine native *.exe, die die Anwendung lädt. JDownloader macht es z.B. so.

Aber wie geht das dann? Außerdem muss es doch irgendworan liegen, dass die Datei mit dem -jar Parameter startet und ohne nicht. Das Problem was dazu kommt ist, dass es mit einer in java 6 compilierten Version funktioniert und mit exakt der selben Datei, die in Java 7 compiliert wurde nicht funktioniert...
 
Wenn du die jar-Datei ohne "-jar"-Parameter übergibst, nimmt Java an, du möchtest die Klasse "DataCheck.jar.class" starten, die es natürlich nicht gibt.
Somit muss "-jar" immer mit.
 
Wenn der Aufruf mittels "java -jar datei.jar" funktioniert, dann ist die .jar Datei auch valide. Die zusätzlichen Einträge in der Manifest-Datei rühren von Eclipse (um Abhängigkeiten direkt in die .jar Datei zu bundlen).

Zum Ausführen einer ausführbaren .jar Datei muss dem Launcher zwingend der -jar Parameter übergeben werden. Die Fehlermeldung wenn er weggelassen wird, ist ganz normal.

Dass der Doppelklick nicht funktioniert, hat nichts mit der .jar Datei per se zu tun. Die .jar Verknüpfung wird nicht korrekt sein. Kontrolliere Deine Registry:

https://www.computerbase.de/forum/threads/java-lang-noclassdeffounderror-fehlkonfiguration-der-jvm.1015283/
 
Zurück
Oben