Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
From R2024-05, Java 17 will become the only supported version to start most Talend modules, enforcing the improved security of Java 17 and eliminating concerns about Java's end-of-support for older versions. In 2025, Java 17 will become the only supported version for all operations in Talend modules.
Starting from v2.13, Talend Remote Engine requires Java 17 to run. If some of your artifacts, such as Big Data Jobs, require other Java versions, see Specifying a Java version to run Jobs or Microservices.
Content
Qlik Talend Module | Patch Level and Version |
Studio | Supported from R2023-10 onwards |
Remote Engine | 2.13 or later |
Runtime | 8.0.1-R2023-10 or later |
For Windows users, please follow the JDK installation guide (docs.oracle.com).
For Linux users, please follow the JDK installation guide (docs.oracle.com).
For MAC OS users, please follow the JDK installation guide (docs.oracle.com).
When working with software that supports multiple versions of Java, it's important to be able to specify the exact Java version you want to use. This ensures compatibility and consistent behavior across your applications. Here is how you can specify a specific Java version on the following products (such as build servers, shared application server, and similar):
For Studio users who are using multiple JDKs, please follow the appropriate instructions listed above and follow the proceeding additional steps:
-vm
<JDK17 HOME>\bin\server\jvm.dll
For Remote Engine (RE) users who are using multiple JDKs, please follow the appropriate instructions listed above and follow the proceeding additional steps.
For Runtime users who are using multiple JDKs, please follow the appropriate instructions listed above and follow the proceeding additional steps.
If Runtime is not running as a service:
With the Enable Java 17 compatibility option activated, any Job built by Talend Studio cannot be executed with Java 8. For this reason, verify the Java environment on your Job execution servers before activating the option.
To use Talend Administration Center with Java 17, you need to open the <tac_installation_folder>/apache-tomcat/bin/setenv.sh file and add the following commands:
# export modules export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/sun.security.x509=ALL-UNNAMED --add-opens=java.base/sun.security.pkcs=ALL-UNNAMED"
Windows users use <tac_installation_folder>\apache-tomcat\bin\setenv.bat
Follow the steps below to configure the JobServer to use the new Java version.
Navigate to the JobServer Configuration:
Go to the <JobServerRootDir>\conf directory, where <JobServerRootDir> is the path to your Talend JobServer installation.
Open the Configuration File for Editing:
Locate the TalendJobServer.properties file and open it with a text editor of your choice.
Set the Java 17 Executable Path:
Find the line dedicated to the Job launcher path within the file. You will modify this line to point to the Java 17 executable.
org.talend.remote.jobserver.commons.config.JobServerConfiguration.JOB_LAUNCHER_PATH="C:\\Program Files\\Java\\jdk-17\\bin\\java.exe"
org.talend.remote.jobserver.commons.config.JobServerConfiguration.JOB_LAUNCHER_PATH=/usr/lib/jvm/java-17-openjdk/bin/java
Replace the example paths with the actual path where Java 17 is installed on your system. Ensure to point directly to the Java executable within the bin directory of your JDK installation.
Save Your Changes:
After editing, save the TalendJobServer.properties file.
Restart Talend JobServer:
For the changes to take effect, restart your Talend JobServer.
After completing these steps, Talend JobServer will utilize Java 17 for executing Jobs, ensuring compatibility with the latest Java version supported by Talend modules.
For Java 17 users, Talend CICD process requires the following Maven options:
set "MAVEN_OPTS=%MAVEN_OPTS% --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/sun.security.x509=ALL-UNNAMED --add-opens=java.base/sun.security.pkcs=ALL-UNNAMED"
For Java 17 users, Talend CICD process requires the following Maven options:
export MAVEN_OPTS="$MAVEN_OPTS \ --add-opens=java.base/java.net=ALL-UNNAMED \ --add-opens=java.base/sun.security.x509=ALL-UNNAMED \ --add-opens=java.base/sun.security.pkcs=ALL-UNNAMED"
<name>TALEND_CI_RUN_CONFIG</name> <description>Define the Maven parameters to be used by the product execution, such as: - Studio location - debug flags These parameters will be put to maven 'mavenOpts'. If Jenkins is using Java 17, add: --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/sun.security.x509=ALL-UNNAMED --add-opens=java.base/sun.security.pkcs=ALL-UNNAMED </description>
Overview
Enable your Remote Engine to run Jobs or Microservices using a specific Java version.
By default, a Remote Engine uses the Java version of its environment to execute Jobs or Microservices. With Remote Engine v2.13 and onwards, Java 17 is mandatory for engine startup. However, when it comes to running Jobs or Microservices, you can specify a different Java version. This feature allows you to use a newer engine version to run the artifacts designed with older Java versions, without the need to rebuild these artifacts, such as the Big Data Jobs, which reply on Java 8 only.
When developing new Jobs or Microservices that do not exclusively rely on Java 8, that is to say, they are not Big Data Jobs, consider building them with the add-opens option to ensure compatibility with Java 17. This option opens the necessary packages for Java 17 compatibility, making your Jobs or Microservices directly runnable on the newer Remote Engine version, without having to go through the procedure explained in this section for defining a specific Java version. For further information about how to use this add-opens option and its limitation, see Setting up Java in Talend Studio.
Procedure
c:\\Program\ Files\\Java\\jdk11.0.18_10\\bin\\java.exe
org.talend.remote.jobserver.commons.config.JobServerConfiguration.JOB_LAUNCHER_PATH=c:\\jdks\\jdk11.0.18_10\\bin\\java.exe
ms.custom.jre.path=C\:/Java/jdk/binMake this modification before deploying your Microservices to ensure that these changes are correctly taken into account.
For Java Option Command --add-opens, using SPACE or = depends on OS, JDK version or the place where you setup, there are 3 cases:
1. support both SPACE and =
2. support SPACE only
3. support = only
Example:
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens java.base/java.net=ALL-UNNAMED
Dear Team, @Brian_Chan :
please correct this mvn command syntax error ( = to <SPACE>)
--add-opens=java.base/java.net=ALL-UNNAMED
-->
--add-opens java.base/java.net=ALL-UNNAMED
Hello @wei_guo
Thanks for letting us know this point and about Java option command,
--add-opens
After made an investigation and checked with Qlik Talend R&D team, we added a note into this article for more precise explanation.
Best regards
Sabrina