Jar-Datei mit Doppelklick nicht ausführbar?: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
(Spezialfall Windows)
Zeile 43: Zeile 43:
 
In den Einstellungen der Programme sollte nun zur Fehlerbehebung der Haken zum Öffnen von Jar-Dateien entfernt werden.
 
In den Einstellungen der Programme sollte nun zur Fehlerbehebung der Haken zum Öffnen von Jar-Dateien entfernt werden.
  
==Spezialfall Windows==
+
==Spezialfall Windows==  
Unter Windows kann es passieren, dass die richtige Verknüpfung von JRE und Jar-Datei durch falsche Einstellungen oder versehentliches Neuverknüpfen zerstört wird. Jar-Dateien starten dann auch nicht mehr per Doppelklick.
+
[[Datei:ExtMan_Dateiendungen.PNG|mini|Schritt 3 - Dateiendung suchen]]
 +
[[Datei:ExtMan_Erweiterung_bearbeiten.PNG|mini|Schritt 5 - Erweiterung bearbeiten]]
 +
[[Datei:ExtMan_Pfad_zur_JRE.PNG|mini|Schritt 7 - Pfad zur JRE festlegen]]
 +
Unter Windows kann es passieren, dass die richtige Verknüpfung von JRE und Jar-Datei durch falsche Einstellungen oder versehentliches Neuverknüpfen zerstört wird. Jar-Dateien starten dann auch nicht mehr per Doppelklick.  
  
 
Das manuelle Beheben des Fehlers durch Eingriff in die Registry gestaltet sich inzwischen mit unter als nicht so trivial, weil mit jeder neuen Windows-Version sich die Struktur der Registry geändert hat.  
 
Das manuelle Beheben des Fehlers durch Eingriff in die Registry gestaltet sich inzwischen mit unter als nicht so trivial, weil mit jeder neuen Windows-Version sich die Struktur der Registry geändert hat.  
Zeile 54: Zeile 57:
 
*'''Schritt 2:''' Entpacken und Ausführen des Tools.
 
*'''Schritt 2:''' Entpacken und Ausführen des Tools.
  
*'''Schritt 3:''' In der Liste der auf dem System registrierten Dateiendungen ''.jar'' suchen und markieren/selektieren [[Datei:ExtMan_Dateiendungen.PNG]]
+
*'''Schritt 3:''' In der Liste der auf dem System registrierten Dateiendungen ''.jar'' suchen und markieren/selektieren
  
 
*'''Schritt 4:''' Auf der rechten Seite den Button ''Erweiterung bearbeiten'' klicken
 
*'''Schritt 4:''' Auf der rechten Seite den Button ''Erweiterung bearbeiten'' klicken
  
 
*'''Schritt 5:''' Im Bearbeitungsdialog sollte nun bereits die Aktion ''open'' eingetragen sein. Dieser ist nun zu markieren/selektieren. Sollte die Aktion nicht existieren, muss sie angelegt werden. Dazu klicken wir auf ''Neue Aktion'', geben  
 
*'''Schritt 5:''' Im Bearbeitungsdialog sollte nun bereits die Aktion ''open'' eingetragen sein. Dieser ist nun zu markieren/selektieren. Sollte die Aktion nicht existieren, muss sie angelegt werden. Dazu klicken wir auf ''Neue Aktion'', geben  
''open'' ein und bestätigen. Anschließend sollte der Bearbeitungsdialog so aussehen, wie im obigen Bild. [[Datei:ExtMan_Erweiterung_bearbeiten.PNG]]
+
''open'' ein und bestätigen. Anschließend sollte der Bearbeitungsdialog so aussehen, wie im obigen Bild.
  
 
*'''Schritt 6:''' Dieser Eintrag wird nun bearbeitet. Dazu klicken wir auf den Button ''Bearbeiten''.
 
*'''Schritt 6:''' Dieser Eintrag wird nun bearbeitet. Dazu klicken wir auf den Button ''Bearbeiten''.
  
*'''Schritt 7:''' Im unteren Textfeld muss der richtige Pfad zur installierten JRE, sowie einige Platzhalter eingetragen sein bzw. werden. Wir prüfen also auf unserem System zunächst, ob der Pfad zur JRE stimmt. [[Datei:ExtMan_Pfad_zur_JRE.PNG]]
+
*'''Schritt 7:''' Im unteren Textfeld muss der richtige Pfad zur installierten JRE, sowie einige Platzhalter eingetragen sein bzw. werden. Wir prüfen also auf unserem System zunächst, ob der Pfad zur JRE stimmt.  
  
 
*'''Schritt 8:''' Der hier beispielhafte Pfad sollte so in etwa aussehen: <code>"C:\Program Files (x86)\Java\jre1.8.0_151\bin\javaw.exe" -jar "%1" %*</code>
 
*'''Schritt 8:''' Der hier beispielhafte Pfad sollte so in etwa aussehen: <code>"C:\Program Files (x86)\Java\jre1.8.0_151\bin\javaw.exe" -jar "%1" %*</code>
Zeile 70: Zeile 73:
  
 
*'''Schritt 10:''' Windows muss nun neu gestartet werden, damit die Änderungen in der Registry aktiviert werden. Anschließend sollten Jar-Programme wieder mit Doppelklick ausfürhbar sein.
 
*'''Schritt 10:''' Windows muss nun neu gestartet werden, damit die Änderungen in der Registry aktiviert werden. Anschließend sollten Jar-Programme wieder mit Doppelklick ausfürhbar sein.
+
 
 
=Fehlermeldungen auf der Java-Console=
 
=Fehlermeldungen auf der Java-Console=
  
 
{{Fragen stellen}}
 
{{Fragen stellen}}

Version vom 10. Dezember 2017, 12:46 Uhr

Jar-Dateien (Java Archive) sind prinzipiell im Zip-Format komprimierte Dateien, die aber durch spezielle Inhalte erweitert wurden. Per Doppelklick können von der JVM die in ihnen verpackten Java-Anwendungen ausgeführt werden.

Du hast eine JAR-Datei erzeugt oder erhalten und diese lässt sich nicht per Doppelklick starten? Lösungen zu diesem Problem werden wir im Folgenden besprechen.

Baustelle.png Dieser Beitrag wird derzeit noch bearbeitet. Der Text ist deshalb unvollständig und kann Fehler oder ungeprüfte Aussagen enthalten.

Aufbau und Inhalt von META-INF

Damit eine Jar-Datei ausführbar wird, enthält sie, wie bereits oben beschrieben, weitere spezielle Inhalte, die von der JVM ausgelesen und verarbeitet werden können. Im Wesentlichen handelt es sich dabei um das Verzeichnis META-INF bzw. um seinen Inhalt. In diesem Verzeichnis muss die Manifest-Datei enthalten sein. Das Verzeichnis META-INF selbst liegt im Wurzelverzeichnis der Jar-Datei.

<code=ini> [/]

|__[META-INF]
|    |__ MANIFEST.MF
|
|__[mypackage]
     |__ Main.class

</code=ini>

Die Manifest-Datei enthält eine Reihe von Informationen, die der Interpreter für die Ausführung einer Java-Anwendung benötigt.

In der Manifest-Datei müssen, damit eine Java-Anwendung per Jar-Datei ausführbar wird, mindestens folgende Angaben enthalten sein: <code=ini> Manifest-Version: 1.0 Main-Class: mypackage.Main <Leerzeile> </code=ini> Hinter Main-Class verbirgt sich die Klasse, die die main()-Methode enthält und damit die Anwendung starten kann. Die Klasse heißt Main.class und liegt in diesem (obigen) Beispiel im Package mypackage.

Wichtig: Ohne eine Leerzeile am Ende der Manifest-Datei wird die Jar-Datei nicht per Mausklick ausführbar sein!

Dieser Fehler tritt oft nur auf, wenn man die Jar-Datei manuell in der Eingabeaufforderung/Terminal erzeugt hat und die Leerzeile vergessen wurde. Eigentlich alle großen Java-IDEs können ausführbare Jar-Dateien erzeugen und werden diesen Part richtig machen.

Jar-Datei in der Eingabeaufforderung/Terminal starten

Um zu testen, ob eine Jar-Datei zumindest fehlerfrei auf der Kommandozeile starten kann, wird folgender Befehl eingegeben: <code=ini> java -jar MeinJar.jar </code=ini> MeinJar.jar bezeichnet dabei die auszuführende Jar-Datei. Zum Aufruf muss man sich bereits in dem Verzeichnis befinden, in welchem die Jar-Datei gespeichert wurde.

Sollte es ein Problem mit der Jar-Datei geben, das die Ausführung verhindert, wird eine Fehlermeldung auf der Console/Eingabeaufforderung/Terminal ausgegeben. Der erste Schritt bei Problemen mit Jar-Dateien sollte also immer sein, zu sehen, ob bei der Ausführung Fehler auf der Console ausgegeben werden.

Verknüpfung mit dem Java-Interpreter

Bei Einsatz bestimmter Komprimierungs- bzw. Archivierungsprogramme, wie bspw. WinRar oder 7Zip, kommt es gelegentlich aufgrund falscher Programmeinstellungen vor, dass diese Programme statt der gewünschten Jar-Datei beim Doppelklick auf eine Jar-Datei gestartet werden. Statt die Jar-Datei der JVM zu überlassen, leitet das Betriebssystem den Aufruf an das Packprogramm weiter, welches nun den Inhalt der Jar-Datei anzeigt.
In den Einstellungen der Programme sollte nun zur Fehlerbehebung der Haken zum Öffnen von Jar-Dateien entfernt werden.

Spezialfall Windows

Schritt 3 - Dateiendung suchen
Schritt 5 - Erweiterung bearbeiten
Schritt 7 - Pfad zur JRE festlegen

Unter Windows kann es passieren, dass die richtige Verknüpfung von JRE und Jar-Datei durch falsche Einstellungen oder versehentliches Neuverknüpfen zerstört wird. Jar-Dateien starten dann auch nicht mehr per Doppelklick.

Das manuelle Beheben des Fehlers durch Eingriff in die Registry gestaltet sich inzwischen mit unter als nicht so trivial, weil mit jeder neuen Windows-Version sich die Struktur der Registry geändert hat.

Mit Hilfe des kleinen Tools ExtMan lässt sich das Problem jedoch auf jedem Windows-System prüfen und ggf. reparieren.

  • Schritt 1: Herunterladen des Programms ExtMan
  • Schritt 2: Entpacken und Ausführen des Tools.
  • Schritt 3: In der Liste der auf dem System registrierten Dateiendungen .jar suchen und markieren/selektieren
  • Schritt 4: Auf der rechten Seite den Button Erweiterung bearbeiten klicken
  • Schritt 5: Im Bearbeitungsdialog sollte nun bereits die Aktion open eingetragen sein. Dieser ist nun zu markieren/selektieren. Sollte die Aktion nicht existieren, muss sie angelegt werden. Dazu klicken wir auf Neue Aktion, geben

open ein und bestätigen. Anschließend sollte der Bearbeitungsdialog so aussehen, wie im obigen Bild.

  • Schritt 6: Dieser Eintrag wird nun bearbeitet. Dazu klicken wir auf den Button Bearbeiten.
  • Schritt 7: Im unteren Textfeld muss der richtige Pfad zur installierten JRE, sowie einige Platzhalter eingetragen sein bzw. werden. Wir prüfen also auf unserem System zunächst, ob der Pfad zur JRE stimmt.
  • Schritt 8: Der hier beispielhafte Pfad sollte so in etwa aussehen: "C:\Program Files (x86)\Java\jre1.8.0_151\bin\javaw.exe" -jar "%1" %*
  • Schritt 9: Die Eingabe wird nun mit Klick auf Speichern übernommen. Auch im jetzt wieder sichtbaren Bearbeitungsdialog bestätigen wir unsere Änderungen mit Speichern.
  • Schritt 10: Windows muss nun neu gestartet werden, damit die Änderungen in der Registry aktiviert werden. Anschließend sollten Jar-Programme wieder mit Doppelklick ausfürhbar sein.

Fehlermeldungen auf der Java-Console

Fragen

Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!

Wir helfen dir gerne!


Dir hat dieser Artikel gefallen? Oder Du hast Fehler entdeckt und möchtest zur Berichtigung beitragen? Prima! Schreibe einen Kommentar!

Du musst angemeldet sein, um einen Kommentar abzugeben.