Voraussetzung Java Runtime Environment 1.8.0 unter Windows

 
tommy_gun
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 2
Dabei seit: 04 / 2019
Betreff:

Voraussetzung Java Runtime Environment 1.8.0 unter Windows

 · 
Gepostet: 28.04.2019 - 21:55 Uhr  ·  #1
Hallo,

ich nutze seit vielen Jahren Hibiscus und Jameica und bin immer sehr zufrieden.
Nun wollte ich gern unter Windows auf OpenJDK 12 wechseln und kann seither Hibiscus nicht mehr starten, da der Hinweis kommt:
"This Application requires Java Runtime Environment 1.8.0"

Gibt es eine Möglichkeit Hibiscus mit dem OpenJDK unter Windows zu betreiben?
Ich hab die offizielle .zip von der Webseite und starte "jameica-win64.exe".

Environment Variablen sind korrekt gesetzt, andere Java-Anwendungen nutzen das OpenJDK und ich hab das auch in der Powershell geprüft :-)

Vielen Dank
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11394
Dabei seit: 03 / 2005
Betreff:

Re: Voraussetzung Java Runtime Environment 1.8.0 unter Windows

 · 
Gepostet: 29.04.2019 - 10:52 Uhr  ·  #2
Konnte den Fehler reproduzieren. War mir bisher nicht aufgefallen, weil ich unter Windows mit den JDKs direkt von Oracle getestet hatte. Dort tritt das Problem nicht auf.

Die Ursache ist Launch4J - das ist das Tool, mit dem ich die jameica-win32.exe bzw. jameica-win64.exe erstelle. Die Datei macht nichts anderes, als nach der aktiven Java-Version zu suchen und damit dann Jameica zu starten. Launch4J sucht hierbei jedoch nicht in den Umgebungsvariablen "%JAVA_HOME%" und "%PATH%" sondern nur in der Windows-Registry. Die Java-Setups von Oracle registrieren sich dort. Das OpenJDK wird jedoch für Windows nicht als Setup sondern nur als ZIP-Datei ausgeliefert. Dort fehlen dann natürlich die Registry-Einträge. Daher findet Launch4J die korrekte Java-Version nicht. Das Problem ist den Autoren bereits bekannt. Es existieren bereits mehrere Tickets und Diskussionen dazu:

https://sourceforge.net/p/launch4j/bugs/197/
https://sourceforge.net/p/launch4j/feature-requests/127/
https://sourceforge.net/p/laun…/?limit=25

Der Workaround sieht bisher so aus, Launch4J so zu konfigurieren, dass es das JDK/JRE selbst mitbringt (es also mit dem Programm gebündelt ist). Als Pfad für Java ist dann aber "%JAVA_HOME%" eingetragen. Damit findet Launch4J dann auch OpenJDK. Ich habe die beiden EXE-Dateien von Jameica mal entsprechend angepasst. Ist morgen im Nightly-Build von Jameica. Alternativ kannst du die jameica-win84.exe auch einfach von https://github.com/willuhn/jameica/tree/master/build herunterladen und gegen die bisherige Datei ersetzen (die EXE-Datei enthält wie gesagt keinen Jameica-spezifischen Programmcode sondern startet lediglich das Java-Programm).

Damit das dann funktioniert, musst du jedoch eine Windows-Umgebungsvariable "JAVA_HOME" definieren, in der du den Basis-Pfad (also nicht direkt den Unter-Ordner "bin") deiner OpenJDK-Installation hinterlegst. Dann sollte Jameica auch mit OpenJDK starten.

Leider ist das dauerhaft kein schöner Zustand. Von "Otto-Normal-User" kann man eigentlich nicht erwarten, dass er für die Installation manuell Umgebungsvariablen in Windows definieren muss. Zumal die entsprechende Stelle mit jeder Windows-Version weiter versteckt wird.

Ich werde das mal beobachten. Wenn das Problem in Zukunft gehäuft auftritt, wird es eventuell doch noch notwendig werden, zumindest unter Windows ein JRE direkt mit Jameica zu bundlen. Ich bin eigentlich kein Fan davon, Laufzeitumgebungen mit dem Programm zu koppeln (der Sinn solcher Laufzeitumgebungen soll ja eben sein, dass das Betriebssystem diese für alle Anwendungen bereitstellt - bei .NET-Anwendungen bringt ja auch nicht jede Anwendung ihr eigenes .NET-Framework mit). Aber von einem unbedarften Usern kann man nicht erwarten, dass er neben Jameica noch OpenJDK manuell entpackt und entsprechende Umgebungsvariablen definiert.

PS: Vielleicht wäre perspektivisch auch AdoptOpenJDK (https://adoptopenjdk.net/) für Windows die bessere Empfehlung, da die auch MSI-Installer bereitstellen, die auch die entsprechenden Registry-Keys setzen können.
tommy_gun
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 2
Dabei seit: 04 / 2019
Betreff:

Re: Voraussetzung Java Runtime Environment 1.8.0 unter Windows

 · 
Gepostet: 29.04.2019 - 21:36 Uhr  ·  #3
Vielen, vielen Dank, mit der nightly geht es und
Code
%JAVA_HOME%
hat mir chocolatey korrekt gesetzt. Vorerst könnte man damit leben, je nachdem, wie schnell die Launch4J-Maintainer agieren, es scheint zumindest für Jameica bisher niemanden gestört zu haben.
Gewählte Zitate für Mehrfachzitierung:   0