Johann N. Löfflmann • Informatiker

People rarely succeed until they have fun in what they are doing.



Jarfix 3.0.0

Ihre Java Programme laufen nicht (mehr) unter Windows?

Duke with Jarfix

Beschreibung

Wenn Sie auf ein .jar doppelt drauf klicken und Ihre Java Anwendung nicht mehr startet, wurde sehr wahrscheinlich die Dateiverbindung mit .jar gestohlen. Sie können diese Störung mit Jarfix beheben.

Das Problem ...
Die Fehlerursache für obige Störung ist, daß ein Programm die Verbindung mit .jar gestohlen hat. Wenn Sie Java das erste Mal installiert haben, wird der Dateityp ".jar" mit javaw.exe richtig verbunden. "jar" ist eine Abkürzung für "Java Archiv" und javaw.exe ist das richtige Programm, um ein .jar unter Windows per Doppelklick ausführen zu können. Jedoch können Programme unter Windows bereits vergebene Dateitypen ohne Rückfrage stehlen. Viele Packprogramme machen das gerne, weil ein .jar im zip-Format gespeichert wird. Wenn Sie nun auf ein .jar doppelklicken, öffnet Ihr Packprogramm die Datei und sie wird nicht mehr von javaw.exe ausgeführt. Ihr Packprogramm ignoriert die Meta-Information, die in einer .jar-Datei abgelegt wird. In der Fehlerdatenbank von Oracle existiert der Low-Priority-Report 4912211 "add mechanism to restore hijacked .jar and .jnlp file extensions", jedoch wurde dieser mit "Closed, Will Not Fix" geschlossen.

Evtl. vermissen Sie auch die Dateiverbindung mit .jar, wenn Sie ein freies OpenJDK ohne Installer einsetzen.

Die Zwischenlösung ...
Reinstallieren Sie das Java Runtime Environment oder fixen Sie die Windows Registry manuell jedes Mal, wenn das Problem auftritt.

Die Lösung ...
Sie können die Störung leicht beheben, indem Sie einfach das kleine Programm Downloadjarfix.exe ausführen. Das Programm ermittelt die aktuelle Java-Version auf Ihrem Computer und stellt die richtige Verbindung mit javaw.exe wieder her. Sie können das Programm bei Bedarf jederzeit wieder aufrufen. Ich stelle das Programm als Freeware hier kostenlos und unbeschränkt nutzbar für jedermann zur Verfügung.

Falls Sie das OpenJDK ohne Installer nutzen und die korrekte .jar-Dateiverbindung fehlt, können Sie jarfix mit einer entsprechenden Konfigurationsdatei füttern, um auch für das OpenJDK die Störung zu beheben.

Jarfix Success Dialog


Optionale Parameter ...
Standardmäßig behebt jarfix die Störung ohne zusätzliche Programmparameter, ein Doppelklick auf jarfix.exe sollte also genügen. Falls Sie das Verhalten von jarfix an Ihre ganz persönliche Bedürfnisse anpassen möchten, können Ihnen die optionalen Parameter dabei helfen.

Optionaler Parameter Beschreibung
/64 Unter Windows x64 können Sie eine 32 bit und/oder eine 64 bit Java Laufzeitumgebung (JRE) installieren. Standardmäßig sucht Jarfix zuerst nach einer 32 bit JRE und falls diese nicht gefunden wird, sucht es nach der 64 bit JRE. Mit der Option /64 erzwingen Sie, dass jarfix ausschließlich nach einer 64 bit JRE bzw. einem 64 bit JDK sucht.
/a Option /a fügt dem Kontextmenü des Windows Explorers zusätzlich den Menüeintrag "Ausführen als..." (Windows XP) bzw. "Als Administrator ausführen" (Windows Vista, Windows 7 und Windows 10) hinzu, um .jar Dateien unter einem Benutzerkonto mit Administratorrechten ausführen zu können. Das ist u. a. sinnvoll für Java basierte Installer im .jar-Format, die z. B. ins Windows-Programmverzeichnis schreiben sollen, auf das normale Benutzer aber i. d. R. keine Schreibrechte besitzen.
/h gibt die Hilfe aus (Version, Autor, optionale Parameter) und beendet das Programm.
/i setzt ein alternatives Icon für .jar Dateien (nur nötig für ältere JREs)
/k sucht in der Windows Registry nur nach einem JDK. Diese Option überspringt die Suche nach einer dedizierten JRE.
/l erstellt einen symbolischen Link (Junction) namens "latest", der auf das JRE/JDK zeigt, das Jarfix findet. Ein alternativer Name für den Link kann durch die Verwendung der .ini-Datei gesetzt werden. Siehe dazu den Abschnitt "Optionale Konfigurationsdatei".
/s lässt jarfix stumm (ohne Dialoge) laufen. Das ist z. B. sinnvoll, wenn jarfix aus einem anderen Programm oder per Windows' Autostart gestartet werden soll.
/u stellt die .jar-Verknüpfung nur für das aktuelle Benutzerkonto wieder her. Diesen Schalter brauchen Sie nur, falls Sie jarfix nicht mit Administrationsrechten laufen lassen können, weil Sie z. B. keine Administratorrechte besitzen. Falls Sie Administrator sind und evtl. ein andere JRE benutzen möchten, als alle anderen Benutzer auf dem Rechner, dann ist dieser Schalter ebenfalls interessant für Sie.
Achtung: Standardmäßig fordert jarfix Admin-Rechte an, die die Benutzerkontensteuerung (UAC) aktiviert. Um jarfix ohne Benutzerkontensteuerungsanforderung (und damit auch ohne besondere Rechte) zu starten, starten Sie jarfix mit dem Kompatibilitäts-Layer des aktuellen Anwenders:
cmd /c "set __compat_layer=RunAsInvoker && start jarfix /u"
/x extrahiert vier Dateien und beendet das Programm. Die Dateien, die extrahiert werden sind: a) jarfix-license.txt, die Lizenz von Jarfix; b) jarfix.ini, eine Beispielkonfigurationsdatei für die Verwendung mit der Option /c; c) jartest.jar, ein kleines im .jar-Format ausführbares Java Programm namens Jartest, das Sie verwenden können, um die korrekte Dateiverknüpfung mit .jar zu testen und d) jartest-license.txt, die Lizen von Jartest
/z sucht in der Windows Registry nur nach einem JDK von Azul Systems, das als letztes über ein .msi installiert wurde. Diese Option überspringt die Suche nach einem JRE/JDK von Oracle.

Viele Parameter lassen sich auch kombinieren, beispielsweise startet "jarfix /64 /a /k /s /l" das Programm ohne Dialoge (/s), läßt nur nach einem 64 bit JDK suchen (/64 /k), stellt die Dateiverknüpfung mit jar wieder her, erstellt eine Junction (/l) und fügt den Menüeintrag "Ausführen als ...", bzw. "Als Administrator ausführen" für jar Dateien im Kontextmenü desWindows Explorers hinzu (/a).

Optionale Konfigurationsdatei ...

Um jarfix mit einer alternativen Konfiguration zu füttern, erstellen Sie eine .ini Datei mit dem gleichen Dateinamen wie die .exe. Wenn Ihr Executable z. B. jarfix.exe heisst, liest jarfix von der Konfigurationsdatei jarfix.ini. Mit Hilfe einer Konfigurationsdatei kann kontrolliert werden, welche Aktion genau passieren soll, wenn auf ein .jar doppelt geklickt wird. Die Konfigurationsdatei muss im gleichen Verzeichnis gespeichert werden wie das Executable. Optionen, die auf der Kommandozeile angegeben werden, werden zusammen mit den Optionen aus der Konfigurationsdatei ausgewertet. Detaillierte Anweisungen und Beispiele finden Sie in dieser Beispielskonfigurationsdatei.


Copyright

Jarfix Copyright © 2002 - 2019, Dipl.-Inf. (FH) Johann Nepomuk Löfflmann
Jarfix ist Freeware und ist under den Bedingungen dieser Lizenz veröffentlicht.

The Jarfix logo is Copyright © 2011 - 2019 Dipl.-Inf. (FH) Johann Nepomuk Löfflmann 
The Jarfix logo is composition of the Duke (released under the new BSD license), the jar icon and the patch icon (both adapted from the gnome-harm project that has been released under the CC-BY 3.0). The logo has been created using Gimp.

Anforderungen

Ein Windows basiertes Betriebssystem (95/98/ME/NT/2000/2003/2008/XP/Vista/7/8/10). Ohne eine installierte Java Laufzeitumgebung (JRE) und ohne Konfigurationsdatei leitet Sie jarfix auf eine entsprechende Downloadseite.

Get Java Software

Download

Download bei heise:

Jarfix, Download bei heise

Download vom Autor:

Downloadjarfix.exe (Jan 27, 2019)

 Filename:    jarfix.exe
 Filesize:    73482 bytes

 MD5:         dd9f1cadb75365e4646a814e8d022010
 SHA1:        a963f573f3fe0422b867dabad52bd7d345ff4d49
 SHA256:      3a00c5b808954e9dca76418506eacec9cb1cb0fd844318a896ebae787f5eaae2

FAQ

Warum soll ich jarfix benutzen?
Wenn Sie die Windows Registry auf Ihrem Rechner manuell editiert haben und festgestellt haben, dass die Störung immer noch da ist oder das Problem nicht zu Ihrer Zufriedenheit behoben ist, empfehle ich Ihnen, jarfix zu benutzen, statt an der Registry selbst Hand anzulegen. jarfix behebt die Störung für Sie komfortabel, komplett und korrekt.

Es scheint, die Störung ist immer noch da
1. Benutzen Sie stets die neuestes Version von jarfix.
2. Starten Sie jarfix mit Administratorrechten. Sollten Sie keine Administratorrechte besitzen, starten Sie jarfix mit der Option /u
3. Starten Sie jarfix auch unter dem betroffenen Benutzerkonto

Ich habe jarfix.exe auf einer anderen Webseite gefunden. Ist das die neueste Version?
Die neueste Version von jarfix kann stets gefunden werden auf . Rufen Sie jarfix /h auf oder generieren eine Prüfsumme von Ihrem Download und vergleichen Sie sie mit den offiziellen jarfix-Prüfsummen auf https://johann.loefflmann.net/downloads/jarfix-hashes.txt

Wie rufe ich jarfix auf, damit das Popup Fenster am Ende von jarfix nicht kommt?
jarfix /s

Ich habe ein 64 bit Windows und nur eine 64 bit JRE installiert, wie rufe ich jarfix in diesem Fall auf ?
jarfix

Ich habe sowohl die 32 bit JRE als auch eine 64 bit JRE auf meinem Rechner, wie kann ich das 64 bit JRE für .jar-Dateien verwenden?
jarfix /64

Ich habe keine Administratorrechte, wie kann ich die Störung trotzdem beheben ?
cmd /c "set __compat_layer=RunAsInvoker && start jarfix /u"

Ich habe mehrere JREs und JDKs auf meinem Rechner, wie kann ich eine bestimmte Laufzeitumgebung wählen ?
Legen Sie eine Konfigurationsdatei jarfix.ini an und setzen Sie das Property "action" bevor Sie jarfix starten.

Ich weiss nicht, wie ich Optionen an das Programm übergeben soll, können Sie mir da helfen ?
Da gibt es mehrere Wege:

a) Sie erstellen die Datei jarfix.ini, setzen die gewünschten Optionen für das Property "options" und starten jarfix.
b) Wählen Sie unter Windows Start -> Ausführen ... -> und geben Sie den vollen Pfad zu jarfix.exe mit Optionen ein.
c) Starten Sie die Eingabeaufforderung cmd.exe und geben Sie den vollen Pfad zu jarfix.exe mit Optionen ein.
d) Erstellen Sie eine Batch-Datei und geben Sie den vollen Pfad zu jarfix.exe mit Optionen ein
e) Verwenden Sie den Windows Explorer, erzeugen eine Verknüpfung von jarfix.exe und verändern Sie die Eigenschaften der Verknüpfung

Darf ich jarfix in einem Unternehmen einsetzen?
Ja

Darf ich jarfix.exe mit meinem Programm (frei oder kommerziell) ausliefern?
Ja

Darf ich jarfix.exe auf meiner Homepage oder einer anderen Webseite zum Download anbieten?
Ja, aber Sie sollten auch die Quelle angeben, wo stets die neueste jarfix Version zu finden ist: https://johann.loefflmann.net/de/software/jarfix/index.html

Muß ich Ihren Namen erwähnen?
Nein, aber ich schätze es, wenn Sie das machen, weil Sie damit Ihren Respekt gegenüber der Arbeit von anderen bekunden.

Muß ich Ihre Webseite erwähnen?
Nein, aber da Sie nicht sicherstellen können, dass Sie stets die aktuellste Version anbieten, ist es ihren Besuchern gegenüber nur fair, die offizielle jarfix Homepage zu erwähnen.

Kann ich den Quellcode haben?
Nein

Macht jarfix irgendwas Verbotenes?
Nein

Ist jarfix frei von Viren, Trojanern und sonstigem Ungetier?
Ja

Ich möchte Ihr Programm/Ihre Webseite empfehlen, ist das in Ordnung?
Ja

Empfehlungen

100% CLEAN award granted by Softpedia

Heise Software

Versionsnotizen

January 27, 2019
jarfix.exe v3.0.0
- from Java 11, Oracle does not provide a dedicated JRE anymore, only a JDK,
  therefore for x64 and JDK 9+, jarfix 3 will search for a JDK first and then for a JRE, otherwise the latest
  Java Runtime Environment could not be found if both JDK 11+ and a JRE version < 11 are being installed
- for Oracle JDK < 9 or on 32-bit platforms, the search strategy remains unchained
- added option /k in order to search in the Windows Registry only for a JDK and not a JRE
- added support to find a JDK from Azul Systems in the Windows Registry
- added option /z in order to search in the Windows Registry for a JDK from Azul Systems only
- added option /l in order to create a link called "latest" that points to the
  latest JRE/JDK. The symlink will be stored under the JRE/JDK's parent folder.
- removed option /c, because a more comfortable solution exist: if a <jarfix>.ini file exists,
  it will be read by the <jarfix>.exe; simply replace <jarfix> with a name of your choice.
  That way you can call jarfix with different configurations without the need to go to the command line.
  That feature is also useful for setting up a .jar file association for an OpenJDK bundle
  that doesn't come with an installer (e. g. the OpenJDK from jdk.java.net or AdoptOpenJDK.net)
- changed all links from http to https

October 18, 2017
jarfix.exe v2.1.0
- support for detecting Java 9 JRE/JDK

March 11, 2012
jarfix.exe v.2.0.0
- support for detecting a 64 bit Java Runtime Environment on 64 bit Windows
- option to search only for a 64 bit JRE if both 32 bit JRE and 64 bit JRE are installed (/64)
- option to fix the issue even without admin permissions (/u)
- option to read from a config file in order to fully control the action that happens if you double click on a jar file (/c)
- option to add the menu item called "Run as..." respectively "Run as administrator" to the context menu of the Windows Explorer in order to execute .jar files under the administrator account (/a)
- option to set an alternative program icon for .jar files (/i)
- option to extract a tiny Java program called jartest and the licenses for both jarfix and jartest (/x)
- the jarfix logo has been used for the program icon
- the title JarFix has been renamed to Jarfix

April 2, 2011
- a small logo for jarfix (homepage only)

March 22, 2010
jarfix.exe v.1.2.0
- jarfix can now fix the jar association even if it has been changed manually by the user

October 26, 2007
jarfix.exe v.1.1.0
- bug fixed: jarfix does not fix the jar association in every case
- added Windows Vista support

October 21, 2006
until today jarfix has been mentioned only on the FAQ page, now jarfix has also a homepage

July 30, 2005
jarfix.exe v.1.0.0
- english and german dialogs
- checks whether a JRE is available, if not it asks whether the user want to download a JRE
- determines the latest version of any installed JRE
- restores the .jar association with javaw.exe
- sets a Java icon for the .jar files

May 1, 2002
Before jarfix.exe went live, I have pubished the jarfix.reg on my homepage and in the NumericalChameleon package.