Bitte wähle nachfolgend aus, welche Beiträge auf dieser Themenseite auf dem Ausdruck ausgegeben werden sollen. Um dies zu tun markiere bitte die Checkbox auf der linken Seite der Posts, die im Ausdruck berücksichtigt werden sollen und klicke anschließend ganz unten auf der Seite auf den Button "Drucken".

Voraussetzung Java Runtime Environment 1.8.0 unter Windows

tommy_gun

Betreff:

Voraussetzung Java Runtime Environment 1.8.0 unter Windows

 ·  Gepostet: 28.04.2019 - 21:55 Uhr  ·  #143979
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

Betreff:

Re: Voraussetzung Java Runtime Environment 1.8.0 unter Windows

 ·  Gepostet: 29.04.2019 - 10:52 Uhr  ·  #143984
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

Betreff:

Re: Voraussetzung Java Runtime Environment 1.8.0 unter Windows

 ·  Gepostet: 29.04.2019 - 21:36 Uhr  ·  #144001
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.