Skip to content

Migrating from Java 11 to Java 17

Support for OpenJDK 17 was added in Eclipse OpenJ9™ version 0.29.1.

The following new OpenJ9 changes apply when OpenJ9 is built with Java SE 17 class libraries. This information exists elsewhere in the documentation but is summarized here for convenience.

Support for JDK enhancement proposals (JEP)

The new JEPs that are supported are listed in the following topics:

New OpenJ9 features and changes

The following table lists the new OpenJ9 features and notable changes with the OpenJ9 release in which they were added:

Features and changes OpenJ9 release
The default operating system stack size on x64 platforms is increased from 256 KB to 512 KB to accommodate vector support. You can change the operating system stack size by using the -Xmso option. 0.33.0
When the VM loads an application native library (DLL), it searches for the library in the path that is specified in the java.library.path system property or in the following environment variables:
  • LIBPATH - z/OS® and AIX®
  • LD_LIBRARY_PATH - Linux®
  • PATH - Windows™

In Java 11 and earlier versions, the VM searched for the application native libraries by using both the java.library.path system property and the environment variable.
From Java 17 onwards, the search is based on only the java.library.path system property value that is obtained when the VM starts. Changing the java.library.path system property value after VM startup doesn't change the search. If the path is set on the command line by using the -Djava.library.path option, only this path is used for the search. The path that is specified by the environment variable is not used to search for the application native libraries.
The default value of the java.library.path system property is still derived from the environment variable.
0.29.1