back to all blogsSee all blog posts

Support for Java SE 20 in Open Liberty 23.0.0.3-beta

image of author
Michal Broz on Mar 23, 2023
Post available in languages:

Open Liberty 23.0.0.3-beta introduces support for Java SE 20, which provides many exciting features and changes. This beta also includes all of Jakarta EE Platform 10 and MicroProfile 6.

The Open Liberty 23.0.0.3-beta includes the following beta features (along with all GA features):

Support for Java SE 20

Try out Java 20, which includes the following features and changes:

By trying out the changes in Java 20 now, you get more time to review your applications, microservices, and runtime environments so you can be a step ahead when it becomes generally available.

Try Java 20 today:

  1. Download the early access release of Java 20.

  2. Install the 23.0.0.3-beta version of Open Liberty.

  3. Edit your Liberty server.env file to point JAVA_HOME to your Java 20 installation.

  4. Start testing!

For more information on Java 20, visit the Java 20 release notes page, API Javadoc page or download page.

Jakarta EE 10 and MicroProfile 6

This beta release also includes Jakarta EE Platform 10 and MicroProfile 6, which were first made available in the 22.0.0.13-beta. To find out more, reference the 22.0.0.13-beta blog post.

Try it now

To try out these features, update your build tools to pull the Open Liberty All Beta Features package instead of the main release. The beta works with Java SE 20, Java SE 17, Java SE 11, and Java SE 8.

If you’re using Maven, you can install the All Beta Features package using:

<plugin>
    <groupId>io.openliberty.tools</groupId>
    <artifactId>liberty-maven-plugin</artifactId>
    <version>RELEASE</version>
    <configuration>
        <runtimeArtifact>
          <groupId>io.openliberty.beta</groupId>
          <artifactId>openliberty-runtime</artifactId>
          <version>23.0.0.3-beta</version>
          <type>zip</type>
        </runtimeArtifact>
    </configuration>
</plugin>

You must also add dependencies to your pom.xml file for the beta version of the APIs that are associated with the beta features that you want to try. For example, for Jakarta EE 10 and MicroProfile 6, you would include:

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>6.0-RC3</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>jakarta.platform</groupId>
    <artifactId>jakarta.jakartaee-api</artifactId>
    <version>10.0.0</version>
    <scope>provided</scope>
</dependency>

Or for Gradle:

dependencies {
    libertyRuntime group: 'io.openliberty.beta', name: 'openliberty-runtime', version: '[23.0.0.3-beta,)'
}

Or take a look at our Downloads page.

For more information on using a beta release, refer to the Installing Open Liberty beta releases documentation.

We welcome your feedback

Let us know what you think on our mailing list. If you hit a problem, post a question on StackOverflow. If you hit a bug, please raise an issue.