# jar Datei funktioniert nicht



## モストウォンテッド (25. Aug 2022)

Hallo,
ich bräuchte Hilfe dabei ein Java Programm in eine ausfürbare jar Datei umzuwandeln.
Ich benutze IntelliJ habe mir auch schon Videos dazu angeschaut und an sich funktioniert alles einwandfrei bis zu dem Punkt wo ich die jar Datei anklicke.
Dann öffnet sich die aus mir unerfindlichen Gründen in VisualStudio Code und gibt mir eine Fehlermeldung aus. Dabei sollte sie nur das Programm ausführen.

Ich habe in meinem Programm mit Jframe gearbeitet und meine main Methode implementiert den ActionListener. Ich habe keine Ahnung ob das damit zu tun hat.

Hat irgendjemand eine Idee was ich tun könnte?

Vielen Dank schon mal.


----------



## httpdigest (25. Aug 2022)

Das hat damit zu tun, mit welchem Programm die Dateiendung ".jar" in dem von dir verwendeten Betriebssystem assoziiert ist. Es hat nichts mit deiner Jar-Datei bzw. deinem Programm selbst zu tun. Nur, was das Betriebssystem denkt, mit welchem Programm es bei "Doppelklick" diese Datei öffnen soll.


----------



## モストウォンテッド (25. Aug 2022)

httpdigest hat gesagt.:


> Das hat damit zu tun, mit welchem Programm die Dateiendung ".jar" in dem von dir verwendeten Betriebssystem assoziiert ist. Es hat nichts mit deiner Jar-Datei bzw. deinem Programm selbst zu tun. Nur, was das Betriebssystem denkt, mit welchem Programm es bei "Doppelklick" diese Datei öffnen soll.


Okay, danke... und wie kann ich das ändern?


----------



## httpdigest (25. Aug 2022)

モストウォンテッド hat gesagt.:


> Okay, danke... und wie kann ich das ändern?


Das hängt von dem von dir verwendeten Betriebssystem ab.


----------



## モストウォンテッド (25. Aug 2022)

Windows. Weißt du wie es da geht?


----------



## temi (25. Aug 2022)

Rechtsklick - Öffnen mit - Andere Anwendung oder so ähnlich. 

Ich nutze Linux, darum weiß ich es nicht genau. Ansonsten such halt einfach mal nach "windows jar ausführen" Da gibt es sicher 1000 Ergebnisse.


----------



## KonradN (25. Aug 2022)

How to repair a broken .jar association in Windows 10?
					

While trying to run a .jar file (Optifine installer for Minecraft), I accidentally thought that I could use the OpenJDK package that comes with Android Studio to run it. However, I was wrong, and n...




					superuser.com
				




Da ist dann auch das Tool jarfix verlinkt - das dürfte es deutlich vereinfachen.


----------



## KeyboardNinjaa (25. Aug 2022)

Du könntest dir auch einfach eine .bat Datei anlegen. Einfach neues Textdokument erstellen (in den selben Ordner wo deine Kompilierte .jar Datei liegt) und in diese schreibst du:

@echo off
java -jar deinDateiName.jar
pause

Dann abspeichern mit der Endung .bat und mit doppelClick starten.


----------



## モストウォンテッド (26. Aug 2022)

KeyboardNinjaa hat gesagt.:


> Du könntest dir auch einfach eine .bat Datei anlegen. Einfach neues Textdokument erstellen (in den selben Ordner wo deine Kompilierte .jar Datei liegt) und in diese schreibst du:
> 
> @echo off
> java -jar deinDateiName.jar
> ...


Hab das jetzt probiert aber irgendwie funktioniert das nicht..


----------



## fhoffmann (26. Aug 2022)

モストウォンテッド hat gesagt.:


> aber irgendwie funktioniert das nicht..


Und wie sollen wir dir bei einer so genauen Fehlerbeschreibung helfen?


----------



## KonradN (26. Aug 2022)

モストウォンテッド hat gesagt.:


> Hab das jetzt probiert aber irgendwie funktioniert das nicht..


Was genau funktioniert nicht? Was passiert? Was sollte passieren? Kannst Du die jar Datei auf der Komamndozeile denn starten?

Ansonsten kann man am Script noch etwas verändern, so dass man es aus beliebigen Verzeichnissen aufrufen kann:

```
@echo off
java -jar "%~dp0deinDateiName.jar"
pause
```

$~dp0 wird durch den Pfad des Scripts ersetzt  - inclusive dem \, daher kommt zwischen %~dp0 und dem Dateinamen kein \ oder so!

Edit: Noch Quotes eingefügt - falls da Leerzeichen enthalten sind im Pfad oder so!


----------



## KeyboardNinjaa (26. Aug 2022)

モストウォンテッド hat gesagt.:


> Hab das jetzt probiert aber irgendwie funktioniert das nicht..


Dann Versuch mal deine .java Datei mit javac in der CMD zu kompilieren.
--> CMD öffnen -> in den Ordner wechseln wo deine.java Datei liegt -> Kompilieren mit "javac deine.java" und in der .bat änderst du java -jar deinDateiName.jar zu java deineKompilierteDatei

@echo off
java deineKompilierteDatei
pause


----------



## モストウォンテッド (26. Aug 2022)

Okay ich weiß jetzt warum es nicht funktioniert habe aber das Problem das ich es nicht lösen kann. Es sagt mir ich hätte java nicht installiert, ich dachte erst das es daran liegt, dass ich nicht die neuste Version habe. Habe mir dann diese heruntergeladen, aber es behauptet immer noch ich hätte kein Java installiert.


fhoffmann hat gesagt.:


> Und wie sollen wir dir bei einer so genauen Fehlerbeschreibung helfen?


----------



## KeyboardNinjaa (26. Aug 2022)

Dann ruf mal bitte die Kommandozeile auf und gebe das mal da ein -> java -version


----------



## モストウォンテッド (26. Aug 2022)

KeyboardNinjaa hat gesagt.:


> Dann ruf mal bitte die Kommandozeile auf und gebe das mal da ein -> java -version


Dann kommt diese Fehlermeldung, obwohl ich java installiert habe(Ich meine ich kann ja den Ordner finden):

Der Befehl "java" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.


----------



## KeyboardNinjaa (26. Aug 2022)

モストウォンテッド hat gesagt.:


> Dann kommt diese Fehlermeldung, obwohl ich java installiert habe(Ich meine ich kann ja den Ordner finden):
> 
> Der Befehl "java" ist entweder falsch geschrieben oder
> konnte nicht gefunden werden.


Wenn du einen Ordner hast kannst du den auch zu deinen Umgebungsvariablen hinzufügen.

WinTaste + S
env

Rechts unten steht -> Umgebungsvariablen <-

Wenn du nicht genau weißt wie das Funktioniert dann würde ich dir eine Neuinstallation vorschlagen.


----------



## KonradN (26. Aug 2022)

Hier wäre wichtig, die genaue Fehlermeldung zu bekommen und nicht nur eine allgemeine Aussage. Es gibt halt mehrere Konstellationen, die auftreten könnten:

a) Du hast generell kein Java installiert. Dann kommt etwas wie "Command not found". Hier wäre die Lösung, einen Java Installer herunter zu laden und Java richtig zu installieren. Dabei wird dann auch der Pfad angepasst und Java wird gefunden (Die Eingabeaufforderung muss nach der Installation aber neu geöffnet werden).

b) Du hattest mal ein altes Java installiert. Früher haben die Installationen auch in c:\windows\system32 einige Programme abgelegt (java.exe, javac.exe, ...) Diese sind bei einer Deinstallation aber verblieben. Dann siehst Du eine andere Fehlermeldung, denn dieses Programm ist nur ein Wrapper, das in der Registry nach einer Java Installation schaut. Diese Registry Keys gibt es aber schon lange nicht mehr.
Möglichkeiten in dem Fall: 
1. Manuelle Bereinigung. Die Programme werden einfach manuell gelöscht. Hier gibt es aber schlicht das Problem, dass man halt nicht zu viel aber auch nicht zu wenig löschen möchte
2. Eine Installation durchführen, die auch diese Registry Keys setzt. Das kannst Du z.B. bei dem OpenJDK  Adoptium bei der Installation als Option mit auswählen (https://adoptium.net/de/) Vorher aber ggf. einfach noch die anderen Java Installationen deinstallieren.


----------



## モストウォンテッド (26. Aug 2022)

KonradN hat gesagt.:


> Hier wäre wichtig, die genaue Fehlermeldung zu bekommen und nicht nur eine allgemeine Aussage. Es gibt halt mehrere Konstellationen, die auftreten könnten:


Tatsächlich ist das was ich oben kopiert habe die einzige Fehlermeldung die ich bekomme


----------



## KonradN (26. Aug 2022)

モストウォンテッド hat gesagt.:


> Tatsächlich ist das was ich oben kopiert habe die einzige Fehlermeldung die ich bekomme


Ah ok, sorry - da muss ich blind gewesen sein. Dein


モストウォンテッド hat gesagt.:


> Der Befehl "java" ist entweder falsch geschrieben oder
> konnte nicht gefunden werden.


habe ich übersehen.

Das ist die Fehlermeldung, wenn java nicht gefunden wurde - also Möglichkeit a von dem, was ich da beschrieben habe.

Daher wäre die Frage, was Du genau gemacht hast, um Java zu installieren. Es ist z.B. möglich, java als ZIP File zu laden und dann einfach zu entpacken. Dann ist aber natürlich der Pfad nicht angepasst.

Daher evtl. den letzten Part mit dem Adoptium mal ausprobieren - Das einfach laden und Installieren und bei der Installation auch den Pfad anpassen lassen. Java_Home würde ich auch setzen. Dann die Eingabeaufforderung neu starten und ein java -version sollte nicht mehr diese Fehlermeldung bringen.


----------



## モストウォンテッド (27. Aug 2022)

KonradN hat gesagt.:


> Daher evtl. den letzten Part mit dem Adoptium mal ausprobieren.


Danke es hat damit dann jetzt funktioniert


----------

