# Runnable Jar per Doppelklick mit OpenJDK



## Kuryu (9. Mai 2021)

Hallo alle zusammen.

Ich benutze im Moment die OpenJDK-15. 
Ich habe über IntelliJ eine runnable Jar erstellt, die auf meinem PC soweit ohne Probleme läuft (hier ist aber kein OpenJDK drauf).
D.h. wenn ich auf die Jar Datei doppelt klicke läuft das Programm.
Als ich das selbe auf meinem Laptop probiert habe, wo OpenJDK drauf ist, lief leider gar nichts..
Per CMD kriege ich es über java -jar file.jar immer noch zum Laufen, aber würde es gerne per Doppelklick zum laufen bringen. 
Falls das Betriebssystem eine Rolle spielt: genutzt wird in beiden Fällen Windows 10.

Habe alles mögliche von Stackoverflow etc. bereits versucht und langsam verliere ich die Hoffnung.

Ich wäre für Lösungsmöglichkeiten sehr dankbar. 

 VG


----------



## fhoffmann (9. Mai 2021)

Das ist eigentlich ein Problem des Betriebssystems (Windows) und kein Java-Problem.
Du musst Windows dazu bringen, dass es beim Doppelklick auf eine Datei mit der Endung "jar" den Befehl "java -jar DATEINAME.jar" aufruft.
Das kann man in den Systemeinstellungen (?) oder in der Registry machen, Das können dir hier andere sicher besser beantworten.


----------



## Kuryu (9. Mai 2021)

Da liegt das Problem. Ich weiß nicht wie ich es zum laufen bringen soll.
Ich habe so einiges probiert was in Stackoverflow und anderen Seiten steht, habe auch z.B. solche Videos Schritt
für Schritt nachgemacht: 



Leider passiert am Ende nicht wirklich viel. Beim Drücken auf die Jar Datei passiert leider nichts.


----------



## kneitzel (9. Mai 2021)

Evtl. ist in Deinem Fall das Einfachste, das bereits installierte OpenJDK zu deinstallieren und dann ein OpenJDK zu installieren, welches die entsprechenden Dinge setzt.

Das AdoptOpenJDK kann bei der Installation (also MSI Variante herunter laden!) die entsprechenden Schlüssel setzen.

Und noch eine kleine Anmerkung: Aufgerufen wird nicht "java -jar" sondern die CMD-Lose Version: "javaw -jar".

Generell möchte ich aber auch die Empfehlung geben und den Weg über ein integriertes / Mitgeliefertes Java zu gehen. Ab Java 9 wird dafür JLink mitgeliefert beim JDK. Ab 14 gibt es JPackage, so dass Du sogar eine EXE bekommen kannst. Eine alternative Lösung kann auch die Verwendung eines Tools wie launch4j sein.

Hintergrund für diese Empfehlung ist, dass Du sonst leicht auch in ein "Versionsdilemma" kommen kannst, wenn Du zwei jar Dateien hast, die unterschiedliche Java Versionen benötigen.

Wenn Dir diese Vorschläge nicht zusagen, dann kannst Du auf der Kommandozeile dies aber auch beheben (So Du da etwas bewandert bist):
Die Zuordnung geschieht mit zwei Befehlen: assoc und ftype. Beide Befehle geben mit /? eine kurze Übersicht aus.
Mittels assoc musst .jar etwas zuweisen wie jarfile.
Mittels ftype weist Du dem .jar zugeordneten Begriff dann den Befehl zu.

Setzen könnte dann z.B. etwas sein wie:
ASSOC .jar=jarfile
FTYPE jarfile=c:\somewhere\javaw.exe %1


----------



## Kuryu (9. Mai 2021)

Vielen Dank für die ausführliche Erklärung. Damit hat sich mein Problem geklärt.


----------

