Java Runtime Environment (JRE) als Installationsvoraussetzung / Wechsel auf extern bereitgestelltes JRE

Java Runtime Environment (JRE) als Installationsvoraussetzung / Wechsel auf extern bereitgestelltes JRE

Die SEAL-Installationspakete „output“, „convert“ und „complete“ enthalten ab Frozen Master / DPF Version 2.2.0 (Convert-2.2.0), der Version Complete 3.0.0_4.70, und CE-F 2019-1 keine JRE (Java Runtime Environment) mehr. SEAL liefert die Java Runtime nicht mehr aus, sie ist Installationsvoraussetzung.
Wir unterstützen OpenJDK 21.

Das hat vor allem den Hintergrund, dass Oracle nach Januar 2019 den Java-Support kostenpflichtig machte und die Oracle JRE nicht mehr kostenfrei in Produktivumgebungen eingesetzt werden kann. Details wie SEAL sich zu diesem Thema aufstellt, findet man in diesem SEAL SOS-Artikel.

Eine Möglichkeit für den Kunden ist die (kostenpflichtige) Installation von Oracles JRE. Die kostenfreie Alternative zu Oracles JRE ist OpenJDK (Open Source Code von Java; JDK = Java Development Kit).

Der aktuelle Release FM2025 ist nur kompatibel mit Oracle JDK 21 und OpenJDK (Eclipse Adoptium JDK 21)

Andere Versionen wie z.B. Amazon Corretto 21 sollten auch funktionieren, wurden aber offiziell nicht getestet.

Bitte beachten Sie, dass die Umgebungsvariable JAVA_HOME korrekt gesetzt sein muss und Java in der PATH Systemvariable gespeichert sein muss (siehe unten).

 Unsere Tests sind limitiert auf Eclipse Adoptium JDK 21 (OpenJDK).
Wir verwenden nur 64 bit Versionen im Test und empfehlen diese auch.

Von SEAL vorgegebene Installationsvoraussetzungen

  1. OpenJDK 21

Wir geben ab dem FM2025 die Verwendung des OpenJDK 21 vor. Es gibt auch höhere OpenJDK-Versionen; derzeit laufen noch nicht alle SEAL-Java-Programme diesen höheren Versionen.
Wir raten von der Verwendung von anderen OpenJDK Versionen (z.B. AZUL Zulu OpenJDK) ab, da es hier zu Problemen kommen kann.

Es ist wichtig, dass OpenJDK 21 verwendet wird.
Bei einigen Versionen muss nach Installation der SEAL Komponenten das SEAL Package 20220602_jboss_20.0.1_hotfix.zip installiert werden, sonst startet der JBoss nicht.
Achten Sie auch darauf, die 64 Bit Version herunter zu laden.

  1. System-Umgebungsvariablen

Vor der Installation von SEAL-Software müssen diese Voraussetzungen gegeben sein:

  • Die Umgebungsvariablen JAVA_HOME und PATH müssen in der Systemumgebung (nicht Benutzerumgebung) gesetzt sein.

  • Das Java-Executable ist unter %JAVA_HOME%\bin (Windows) bzw. $JAVA_HOME/bin (Linux) zu finden.

  • Das Java-Executable ist von der Shell bzw. Programmen via PATH-Umgebungsvariable zu finden, d. h. %JAVA_HOME%\bin (bzw. $ JAVA_HOME/bin bei Linux) muss Teil des PATH sein

=>  Die Kommandos „java“ und „%JAVA_HOME%\bin\java“ (bzw. Linux-Pendant „$JAVA_HOME/bin/java“) müssen dasselbe Exe aufrufen!

Woher OpenJDK beziehen?

SEAL Systems unterstützt nur Adoptium JRE, da unserer Erfahrung nach OpenJDK Installationsprogramme anderer Downloadquellen die JAVA_HOME und PATH Umgebungsariablen in Bezug auf das JRE Verzeichnis (=> Zertifikate) bzw. Versions Updates nicht korrekt setzen!
Achtung! OpenJDK-Installer aus anderer Download-Quelle setzen JAVA_HOME und PATH nicht korrekt bezüglich JRE und Versions-Updates!
Unter Linux können Sie natürlich auch ein bereits installiertes JRE 21 verwenden oder ein JRE 21 Package mit 'apt install' installieren.

JRE installieren

  1. Download

Laden Sie das JRE Version 21 von https://adoptium.net/  herunter!
Achten Sie darauf, die 64 Bit Version herunter zu laden.
Laden Sie NICHT das Windows-JDK herunter, das auf der Startseite angeboten wird!
(Die folgende Beschreibung bezieht sich auf die Website bei englischer Browser-Einstellung.)
Um den JRE-Installer zu downloaden, selektieren Sie "Other Downloads"
Wählen Sie dann Ihre Plattform (z. B. „Windows x64“ / „Linux x64“) und Architektur (typischerweise „x64“), dann den Download „JRE“ und Version “21 LTS”:

grafik-20260421-093554.png

Speichern Sie die Datei - für Windows hat diese einen Namen in der Form
„OpenJDKXU-jre_x64_windows_hotspot_xxxxxxxx.msi“ - in einem Ordner, führen Sie diese NICHT gleich aus dem Browser heraus aus, sie könnte vom Virenscanner geblockt sein!
Falls Sie Probleme beim Download haben (z.B. mit dem Internet Explorer), versuchen Sie den Download bitte mit einem anderen Browser.

 

  1. JRE installieren und System-Umgebung setzen

Der Windows-JRE-Installer bietet die Möglichkeit, PATH und JAVA_HOME setzen zu lassen.
Von Haus aus ist das Install Feature „JAVA_HOME Variable“ nicht gesetzt.
Klicken Sie auf die Option JAVA_HOME und ändern Sie die Einstellung auf „Will be installed …“!:

Unbenannt-20241129-105015.png

 

Bild: OpenJDK JRE Windows-Installer

Das Ergebnis in den System-Umgebungsvariablen muss dann – prinzipiell – so aussehen:

Unbenannt-20241129-105037.png

 

Zur Info: Der Adoptium-Installer setzt die Umgebungsvariablen JAVA_HOME und PATH auf Systemebene. Diese beiden Variablen werden bezüglich JRE nicht durch SEAL-Batchfiles manipuliert.

 

Windows-Installation: Die Java-Umgebung muss schon gesetzt sein bevor sealsetup.exe aufgerufen wird!

Den SEAL-Software-Installer sealsetup.exe rufen Sie i. d. R. aus dem Windows Explorer auf. Wenn in derselben Windows-Sitzung gerade erst die JRE installiert wurde, müssen Sie sich

ausloggen + einloggen,

damit der Windows Explorer (und die cmd Shell) das erweiterte System-Environment mit JAVA_HOME und PATH erbt.
Wollen Sie vor der SEAL-Installation sicher gehen, dass die Java-Umgebung korrekt gesetzt ist, öffnen Sie eine cmd Shell und führen Sie aus:
set java
where java

SEAL bietet für die Windows-Installation ein Java-Check-Tool checkJava.bat (SEAL-Projekt-Ingenieure sollten es in ihrem „Handgepäck“ haben und können Ihnen die Datei bereitstellen). (Für SEALs: es liegt in M:\etc\tools). Rufen Sie checkJava.bat in einer cmd Shell auf! Hiermit sehen Sie die aktuelle Java-Umgebung wie sie von der System-Umgebung in die aktuelle User-Sitzung vererbt wurde!
checkJava.bat hat keine Abhängigkeiten, benötigt keinerlei Tools, die nicht schon in der Windows-Installation von Microsoft bereitgestellt wären.
Der Output der o. g. Kommandos sieht im Gutfall (checkJava) so aus:

Unbenannt-20241129-105101.png

 

Bild: Checken der Java-Umgebung in der cmd Shell

 

sealsetup.exe – Checkbox „Use Customer Java”

sealsetup Version 1.3.5.2 enthält noch die Option/Checkbox „Use Customer Java“  Setzen Sie diese Checkbox NICHT! (Dies würde im SEAL-Installations-Baum eine Batch-Datei anlegen, die auf den aktuellen JRE-Installationspfad verweist, was einem späteren JRE-Update im Wege stünde.)


JRE updaten

WICHTIG
Beachten Sie bitte, dass für einige Versionen das SEAL Package 20220602_jboss_20.0.1_hotfix.zip erforderlich ist!
Dieses Package ist nur für PLOSSYS 4.6.1 und 4.7.0 verfügbar.
Bei Fragen kontaktieren Sie bitte den SEAL Support über den Jira Service Desk.

Um Ihre OpenJDK-Installation zu updaten (z.B. auf aktuelle Hotfix-Version):

Installieren Sie die neue Version mittels Adoptium Installer wie oben unter „JRE installieren“ beschrieben, dabei das Feature „Install JAVA_HOME“ anwählen!

SEAL hat einen „Cache“ für Umgebungsvariablen realisiert („fastlogin“). Dieser „muss bei Änderung von Umgebungsvariablen außerhalb der SEAL-Umgebung oder bei Zufügen neuer SEAL-Batch-Files aktualisiert werden. Gehen Sie dazu bitte so vor:

  • Löschen Sie die Dateien %SEAL_CUSTOMDIR%\plsenv.properties und %SEAL_CUSTOMDIR%\server\login\sealenv.bat.

  • Öffnen Sie eine neue SEAL Shell.

  • Führen Sie darin das Kommando sitwelcome aus.

  • Schließen Sie alle offenen SEAL Shells.

  • Öffnen Sie eine neue SEAL Shell und überprüfen Sie die Java-Umgebung - wie oben beschrieben, empfohlen mittels checkJava.bat (Für SEAL-Projekt-Ingenieure: es liegt in M:\etc\tools)


=> Die auf Systemebene gesetzten JAVA_HOME und die neue Java-Version müssen zu sehen sein!



In vorhandener SEAL-Installation auf extern bereitgestelltes JRE umstellen

Hier geht es um die Situation, dass beim Kunden in einer Bestands-Installation die von SEAL gelieferte JRE installiert und aktiviert ist.
(Das kann die JRE von Oracle sein oder das OpenJDK 21, das an derselben Stelle innerhalb der SEAL-Installation (%PLSROOT%\tools\jre-64bit) via FM-Package installiert wurde, aber an dieser Stelle nicht updatefähig ist.)

Führen Sie diese Schritte aus:

  1. Installieren die JRE von Adoptium wie es oben ab Kapitel „Von SEAL vorgegebene Installationsvoraussetzungen“ beschrieben ist.

  1. Deaktivieren Sie das von SEAL gelieferte JRE-Verzeichnis um Irritationen und irrtümliche Benutzung zu vermeiden:

sysstop -full
Benennen Sie im tools-Verzeichnis das Unterverzeichnis jre-64bit nach jre-64bit.OFF und das Unterverzeichnis jre nach jre.OFF um!

  1. Die von der SEAL-Installation gesetzte JAVA_HOME-Umgebungsvariable deaktivieren.


Durch das Folgende wird sichergestellt, dass die (wie oben beschrieben) auf System-Ebene gesetzten Umgebungsvariablen JAVA_HOME und PATH greifen (und nicht die in der SEAL-cmd-Shell gesetzten). Wir erreichen damit dieselbe Umgebung wie bei einer Neuinstallation (nämlich keine login\*jre* Scripts aktiv/vorhanden).

 

Gehen Sie ins Verzeichnis server\login.
Benennen Sie 711.jre-64bit.bat nach 711.jre-64bit.bat.off um. (Ggf. bei alter Installation ebenso 710.jre.bat.)

Stellen Sie sicher, dass die Dateien
711.jre.customer.bat.off (bei älteren Installationen vorhanden)
712.jre-customer.bat.off (bei jüngeren Installationen vorhanden)
711.jrecust.bat.off (wurde evtl. von sealsetup.exe erzeugt)
deaktiviert sind, also keine Kopie ohne die Datei-Endung „.off“ vorhanden ist!
Falls eine der oben genannten Dateien ohne die Endung .off vorhanden ist, so fügen Sie bitte die Endung .off an die Datei an, um so die Datei zu deaktivieren.

SEAL hat einen „Cache“ für Umgebungsvariablen realisiert („fastlogin“). Dieser „muss bei Änderung von Umgebungsvariablen außerhalb der SEAL-Umgebung oder bei Zufügen neuer SEAL-Batch-Files aktualisiert werden. Gehen Sie dazu bitte so vor:

  • Löschen Sie die Dateien %SEAL_CUSTOMDIR%\plsenv.properties und %SEAL_CUSTOMDIR%\server\login\sealenv.bat.

  • Öffnen Sie eine neue SEAL Shell.

  • Führen Sie darin das Kommando sitwelcome aus!

  • Schließen Sie alle offenen SEAL Shells.

  • Öffnen Sie eine neue SEAL Shell und überprüfen Sie die Java-Umgebung - wie oben beschrieben, empfohlen mittels checkJava.bat (Für SEAL-Projekt-Ingenieure: es liegt in M:\etc\tools)

=> Die auf Systemebene gesetzten JAVA_HOME und die neue Java-Version müssen zu sehen sein!

 

Zertifikate in die JRE importieren für SSL-Verbindungen

Um mit einem Java-Programm eine verschlüsselte Verbindung zu einem Server aufbauen zu können, muss das Root-Zertifikat der auf dem/den Servern verwendeten SSL/TLS-Zertifikaten in die lokale Java-Runtime importiert werden. Zu diesem Zweck stellt SEAL das Tool import_cert_jre.pl zur Verfügung, das in der SEAL shell aufzurufen ist (Hilfe bei Aufruf ohne Parameter).

Wenn ein PLOSSYS 4 (ab 4.5.3), das mit https-Web-Protokoll läuft, einen DPF-Server zur externen Datei-Konvertierung ansteuert, müssen Sie auf dem DPF-Server das Kunden- bzw. SEAL-Root-Zertifikat in die JRE  importieren (DPF URL Callback Service ist ein Java-Programm). Dies ist auch auszuführen wenn PLOSSYS 4 und DPF auf demselben Server laufen!

Benutzen Sie dazu in der SEAL-Shell (diese bitte “Als Administrator ausführen”) den Befehl import_cert_jre.pl.
Im Falle des SEAL-Root-Zertifikats lautet der Befehl:
import_cert_jre.pl -crt %DPFROOT%\server\web\apache\conf\cacert\seal_test_ca.crt

(In diesem Fall ist das Remote-Server--Root-Zertifikat das gleiche wie es schon auf dem DPF-Server vorhanden ist. Darum kann die lokale Datei genommen werden, kein Transfer der Datei vom Remote-Server nötig.)

Sollte die Datei import_cert_jre.pl nicht in Ihrer Installation vorhanden sein, installieren Sie bitte Package 20190619_jre_import_cert_packet.zip.

 

SEAL chachet die Umgebungsvariablen für schnelleren Start der SEAL Shell. Um diesen Cache zu aktualisieren gehen Sie wie folgt vor:

  • Löschen Sie die Dateien %SEAL_CUSTOMDIR%\plsenv.properties und %SEAL_CUSTOMDIR%\server\login\sealenv.bat.

  • Öffnen Sie eine neue SEAL Shell.

  • Führen Sie darin das Kommando sitwelcome aus!

  • Schließen Sie alle offenen SEAL Shells.

  • Öffnen Sie eine neue SEAL Shell und überprüfen Sie die Java-Umgebung - wie oben beschrieben, empfohlen mittels checkJava.bat (Für SEAL-Projekt-Ingenieure: es liegt in M:\etc\tools)

=> Die auf Systemebene gesetzten JAVA_HOME und die neue Java-Version müssen zu sehen sein!