Feedback
Did this article resolve your question/issue?

   

Article

How to change JDK/JRE version on UNIX

« Go Back

Information

 
TitleHow to change JDK/JRE version on UNIX
URL NameP5556
Article Number000138819
EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: All supported versions
OS: UNIX
Other: JDK, Java
Question/Problem Description
How to use a different Java version with OpenEdge on UNIX?
How to change JDK/JRE version for Progress to use on UNIX?
How to change the Java used by the Progress install
How to change the JDK that was installed by Progress
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
Note: Please make sure that the new Java version is supported with the specific OpenEdge version. Refer to the Product Availability and Life Cycle Guide for more details:  In OpenEdge Versions 12.1 and later

OpenEdge 12.1 and later are no longer ship with Java, which means you have to install the certified version before running the OpenEdge Install. Post-install, the Java vendor can be changed or Java patch level can be upgraded, as long as you stay within the supported Minor version (JDK 11.0 not 14.0)

Java patches of a certified version of Java will be supported by default. This policy is based on assumption that Java patches do not alter any existing behavior or functionality. Should an issue arise we will provide technical support when customers are using a more-current patch release. With our certification on OpenJDK, this will cover any vendors offering i.e. we will support any OpenJDK version commercially available with the caveat that if there is an issue we need to be able to reproduce it on the version of OpenJDK that we certified on. In general we expect that any new release of OpenJDK is fully tested by the provider.

After you have installed OpenEdge the current configuration needs to be upgraded to reflect the change. The full instructions are provided :
Install OpenEdge, Upgrade the JDK After Installation
https://docs.progress.com/bundle/openedge-install/page/Upgrade-the-JDK-After-Installation.html

In summary: After stopping the current Fathom and AdminServer, the following need to be updated to the new JDK

1.   The new value of the JAVA_HOME environment variable in <DLC>/properties/java.properties
2.    OEM / OEE tailoring needs to be updated.

In OpenEdge Versions 12.0, 11.x, 10.x, 9.x

Using a Java version that is not supported for the Progress Release installed, is an unsupported configuration. The upgrade must stay within the supported Minor version.
IE. Using Java 14 rather than Java 8, which was listed in the Product Availability Guide for the Progress Release being used, would not be a supported configuration.
Before upgrading the shipped version, please refer to the following Article: The JDK/JRE used with a Progress installation on UNIX can be changed in a number of ways.

** Before making changes, take a copy of the original java_env script and of the directories $JDKHOME and $JREHOME as a backup **

To change the JDK/JRE location, perform 1 of the following 4 Options:


Option #1: 
Modify the Java environment variables in the $DLC/bin/java_env file to point to the required java install location.

Progress sets the key environment variables for the JDK/JRE  within the script $DLC/bin/java_env file.
To point a Progress installation to a different JDK installation modify the JDKHOME and JREHOME environment variables in the $DLC/bin/java_env file.

For example, when Progress installs the JDK and JRE, it is within $DLC/jdk and $DLC/jre respectively. The java_env file by default will contain:
JDKHOME=${JDKHOME-$DLC/jdk}
JREHOME=${JREHOME-$DLC/jre}

Modify the script $DLC/bin/java_env by replacing the above lines with the location of the desired Java installation:
JDKHOME=/opt/java/jdk
JREHOME=/opt/java/jdk/jre

Option #2: Install the new version to the current location in the OpenEdge install directory
If you are installing a new version of Java on the Operating System you can install the new version of JDK/JRE over the existing one to avoid changing the java_env file.

Option #3: Reset Environment Variables in scripts
Set the environments variables in the shell script that starts Progress manually prior to starting any Progress components.
Stop the AdminServer prior to overwriting the Java version used. Be prepared to reverse your modification. For example:
JDKHOME=/opt/java/jdk;export JDKHOME
JREHOME=/opt/java/jre;export JREHOME

Option #4: Change the JRE location using Unix soft links
a. Rename the JRE directories under $DLC to something else.
b. Install the downloaded JRE/JDK onto the system.
c. Create a soft link under $DLC called JRE that points to the jre directory. 

For example:
cd $DLC ln -s <jre-install> jre

If OpenEdge Explorer or OpenEdge Management are being used, the $DLC/properties/Java.Tools.properties file, will also need to be modified.

** Before making changes, take a copy of the original Java.Tools.properties file as a backup **
 
The Java.Tools.properties file will have an entry for the (Java_Install_Path)/tools.jar file for the new version of Java that was declared at installation time which must also be updated to point to the tools.jar file of the new Java version..
Example:
[Common] 8_SR6_FP20
 classpath=/usr2/OS/jdk180sr620/lib/tools.jar,/usr2/dlc/java/progress.jar,/usr2/dlc/java/messages.jar
 jvmargs=-Xms32m -Xmx32m
 policyfile=/usr2/dlc/java/java.policy
 
Workaround
Notes
Last Modified Date4/26/2021 3:34 PM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.