Java Runtime Environment (JRE) as installation requirement / Switch to an externally supplied JRE

Java Runtime Environment (JRE) as installation requirement / Switch to an externally supplied JRE

The SEAL installation packages "output", "convert" and "complete" do not contain JRE (Java Runtime Environment) anymore starting from Frozen Master / DPF version 2.2.0 (Convert-2.2.0), the version Complete 3.0.0_4.70 and CE-F 2019-1. SEAL does not deliver the Java Runtime anymore, it is a prerequisite for the installation.

This has the background that Oracle made the Java support chargeable after January 2019 and the Oracle JRE can no longer be used free of charge in productive environments. Details how SEAL is positioned on this topic can be found in this SEAL SOS article.

One possibility for the customer is the (chargeable) installation of Oracle's JRE. The free alternative to Oracle's JRE is OpenJDK (Open Source Code of Java; JDK = Java Development Kit).

The current release FM2025 is only compatible with Oracle JDK 21 and OpenJDK (Eclipse Adoptium JDK 21).

Other versions such as Amazon Corretto 21 should also work, but have not been officially tested.

Please note that the environment variable JAVA_HOME must be set correctly and Java must be stored in the PATH system variable.

Our tests are limited to Eclipse Adoptium JDK 21 (OpenJDK).
We only use the 64-bit versions in the test and recommend them.

Installation requirements specified by SEAL

 

  1. OpenJDK 21

We currently specify the use of the OpenJDK 21. There are also higher OpenJDK versions; currently not all SEAL Java programs run with higher versions.
We do not recommend using other OpenJDK versions (like AZUL Zulu OpenJDK), as you might encounter problems using those.

It is important that you use OpenJDK 21.
With newer versions, after installing the SEAL components, you have to install the SEAL package 20220602_jboss_20.0.1_hotfix.zip, otherwise JBoss will not start.

 

Please also make sure that you download the 64 bit version

  1. System Environment Variables

These requirements must be met before installing SEAL software:

  • The JAVA_HOME and PATH environment variables must be set in the system environment (not the user environment).

  • The Java executable can be found under %JAVA_HOME%\bin (Windows) or $JAVA_HOME/bin (Linux).

  • The Java executable can be found by the shell or programs via the PATH environment variable, i.e. %JAVA_HOME%\bin (or $ JAVA_HOME/bin for Linux) must be part of the PATH

 

=> The commands "java" and "%JAVA_HOME%\bin\java" (or Linux counterpart "$JAVA_HOME/bin/java") must call the same executable!

 

Which OpenJDK to use?

SEAL Systems only supports Adoptium JRE because to our experience the OpenJDK installers from other download sources do not set JAVA_HOME and PATH environment variables correctly with respect to JRE directory (=> certificates) resp. version updates!
Attention! OpenJDK installers from other download sources do not set JAVA_HOME and PATH correctly regarding JRE and version updates!
Under Linux you can of course also use an already installeded JRE 21 or install a JRE 21 package using 'apt install'.

 

Install JRE

The following screenshots show downloading the JRE for Windows OS.

  1. Download

Download the JRE Version 21 from https://adoptium.net!
Make sure that you download the 64 bit version.

DO NOT download the Windows JDK offered on the home page!

To download the JRE-Installer, choose "Other platforms and versions"
Then select your platform (e.g. „Windows x64“ / „Linux x64“) and architecture (typically „x64“), then the package type „JRE“ and version “21 LTS”:

grafik-20260421-093929.png

Save the file - for Windows it has a name in the form

"OpenJDKXU-jre_x64_windows_hotspot_xxxxxxxxx.msi" - in a folder, do NOT execute it right away from the browser, it could be locked by the virus scanner!
If you have problems downloading the file (for example with the Internet Explorer), try downloading it with a different browser.

 

  1. Install JRE and set system environment variables

The Windows installer offers the possibility to set PATH and JAVA_HOME.

The "JAVA_HOME Variable" install feature is not set by default.

Click on the JAVA_HOME option and change the setting to "Will be installed ..." (Screenshot is in German: "Wird auf der lokalen...")!

adoptium_3-20241202-143529.png

Image: OpenJDK JRE Windows installer

The result in the system environment variables must then - in principle - look like this:

adoptium_4-20241202-143544.png

Info: The Adoptium-Installer sets the environment variables JAVA_HOME and PATH at system level. JAVA_HOME and the JRE related PATH fragment MUST NOT be set resp. changed by SEAL installation batch files!

 

Windows installation: The Java environment must be set before sealsetup.exe is called!

You call the SEAL-Software Installer sealsetup.exe from the Windows Explorer. If the JRE has just been installed in the same Windows session, you must

log out + log in,

so that the Windows Explorer (and the cmd shell) inherits the extended system environment with JAVA_HOME and PATH.
If you want to make sure that the Java environment is set correctly before installing SEAL, open a cmd shell and execute:
set java
where java

SEAL offers a Java check tool checkJava.bat for the Windows installation (the SEAL project engineers should have it in their "hand luggage" and can provide you with the file). (For SEALs: it's in M:\etc\tools). Call checkJava.bat in a cmd shell! Here you can see the current Java environment as inherited from the system environment in the current user session!
checkJava.bat has no dependencies, does not need any tools that are not already provided in the Windows installation of Microsoft.
The output of the above mentioned commands looks like this in case of good (checkJava):

adoptium_5-20241202-143605.png

Image: Checking the Java environment in the cmd shell

 

sealsetup.exe – Checkbox „Use Customer Java”

sealsetup Version 1.3.5.2 still contains the option/checkbox „Use Customer Java“  Do NOT check this checkbox! (That would create a batch file within the SEAL installation tree, which points to the actual JRE install path, what would stand in the way of a later JRE update.)

Updating JRE

Important
Please mind that for some versions the SEAL package 20220602_jboss_20.0.1_hotfix.zip is necessary!
This package is only available for PLOSSYS 4.6.1 and 4.7.0.
If you have any questions, please contact the SEAL Support via the Jira Service Desk.

To update your OpenJDK installation (to current hotixes):
Install the new version via the Adoptium installer, as described under Install JRE above, make sure you select the feature "Install JAVA_HOME".

SEAL "caches" the environment variables for faster start of the SEAL Shell. To update this cache, proceed as follows:

  • Delete the files %SEAL_CUSTOMDIR%\plsenv.properties and %SEAL_CUSTOMDIR%\server\login\sealenv.bat.

  • Open a new SEAL shell.

  • In that shell execute the command sitwelcome

  • Close all open SEAL shells.

  • Open a new SEAL shell and check the Java environment - as described above, recommended using checkJava.bat (For SEAL project engineers: it's in M:\etc\tools)

=> The JAVA_HOME and the new Java version as set on system level must show up!


Convert existing SEAL installation to externally provided JRE

This is the situation where the customer has the JRE delivered by SEAL installed and activated in an existing installation.
This can be the JRE from Oracle or the OpenJDK 21, which is installed at the same location within the SEAL installation (%PLSROOT%\tools\jre-64bit) via FM-Package.

Follow these steps:

  1. Install the JRE of AdoptOpenJDK as described in the section "Installation Requirements Specified By Seal".

  1. Deactivate the JRE directory provided by SEAL to avoid irritation and accidental use:


sysstop -full
Rename the subdirectory jre-64bit to jre-64bit.OFF and the subdirectory jre to jre.OFF in the tools directory!

  1. Disable the JAVA_HOME environment variable set by the SEAL installation.


The following ensures that the environment variables JAVA_HOME and PATH set at the system level (as described above) take effect (and not those set in the SEAL cmd shell). We achieve the same environment as with a new installation (namely no login\*jre* scripts active/available).

 

Switch to the server\login directory.
Rename 711.jre-64bit.bat to 711.jre-64bit.bat.off. (If necessary, rename in an old installation 710.jre.bat. as well).

Make sure that the files
711.jre.customer.bat.off (present in older installations)
712.jre-customer.bat.off (present in newer installations)
711.jrecust.bat.off (might have been created by sealseetup.exe)
are deactivated, i.e. there is no copy without the file extension ".off"!

SEAL "caches" the environment variables for faster start of the SEAL Shell. To update this cache, proceed as follows:

  • Delete the files %SEAL_CUSTOMDIR%\plsenv.properties and %SEAL_CUSTOMDIR%\server\login\sealenv.bat.

  • Open a new SEAL shell.

  • In that shell execute the command sitwelcome

  • Close all open SEAL shells.

  • Open a new SEAL shell and check the Java environment - as described above, recommended using checkJava.bat (For SEAL project engineers: it's in M:\etc\tools)

=> The JAVA_HOME and Java version as set on system level must show up!

 

Importing Certificates into the JRE for SSL Connections

To establish an encrypted connection to a server using a Java program, the root certificate of the SSL/TLS certificates used on the server(s) must be imported into the local Java runtime. In order to accomplish this, SEAL provides the tool import_cert_jre.pl to import a certificate into the JRE, which has to be called in the SEAL shell (help when calling without parameters).

If a PLOSSYS (version 4.5.3 and up), that uses the https-web-protocol, accesses a DPF-Server for external file conversion, you have to import the customer root certificate respective SEAL root certificate into the JRE on the DPF server (DPF URL Callback Service is a java-application). You also have to do this if PLOSSYS and the DPF run on the same server!

To do this, use the command import_cert_jre.pl in a SEAL Shell (please open this SEAL Shell with “Run as admin”).
In case of the SEAL-Root-certificate the command is:
import_cert_jre.pl -crt %DPFROOT%\server\web\apache\conf\cacert\seal_test_ca.crt

(In this case the remote server’s root certificate is the same as that one which is on the DPF server. Therefore the local file can be used, no file transfer from the remote server needed.)

If file import_cert_jre.pl is missing in your installation, please install package 20190619_jre_import_cert_packet.zip.

SEAL "caches" the environment variables for faster start of the SEAL Shell. To update this cache, proceed as follows:

  • Delete the files %SEAL_CUSTOMDIR%\plsenv.properties and %SEAL_CUSTOMDIR%\server\login\sealenv.bat.

  • Open a new SEAL shell.

  • In that shell execute the command sitwelcome

  • Close all open SEAL shells.

  • Open a new SEAL shell and check the Java environment - as described above, recommended using checkJava.bat (For SEAL project engineers: it's in M:\etc\tools)

=> The JAVA_HOME and the new Java version as set on system level must show up!