Choosing the right JDK for WildFly and JBoss EAP

This tutorial discusses the recommended JDK versions to be used for WildFly and JBoss Enterprise Application Platform (EAP) and how to set the Java version for it. The article is updated to July 2025 and we will keep it in sync with new server versions as thei are available.

Choosing the right JDK for your WildFly or JBoss EAP deployment isn’t just a matter of compatibility—it’s a key decision that can impact performance, security, and long-term support. With multiple JDK vendors and versions available, each offering different trade-offs, it’s important to align your choice with your application’s needs and your organization’s support strategy. In this article, we’ll walk through the key considerations to help you make an informed decision.

Currently the minimum version required to the latest version of WildFly (35-) is Java 17 (Oracle JDK or OpenJDK).

JDK for each WildFly version

Firstly, each server release has a minimum requirement and also a “maximum” version, which is the last JDK version on which the application server has been tested. Therefore, you should therefore use any JDK in Min-Max range from the following table:

WildFly VersionMin. JDKMax JDK
15811
16812
17-24813
25-26817
27-341117
35-1721

Then, which is the recommended JDK version for WildFly ?There are two main options:

  • WildFly versions up to 26 should run on the most recent long-term support release (LTS), i.e. on Java 8 and 11. On a balance, due to the amount of tests, it is recommended to use JDK 11.
  • WildFly version 27 drops support for Java 8. So you can mainly choose between Java 11 and Java 17. Much the same way, we recommend using the latter (Java 17) for running WildFly 27.
  • WildFly version 35 drops support for Java 11. Therefore, you can choose between Java 17 and Java 21.

Finally, you can check the Java and Jakarta EE certifications for each server version at this link: https://github.com/wildfly/certifications/tree/EE10

JBoss Enterprise Application Server 7 and 8

Firstly, to be running in a supported configuration, JBoss EAP must be running in one specific Technology Compatibility Kit (TCK) certified implementations and on one of the operating systems supported by that implementation. In terms of JDK, here is the list of supported ones, in respect to each JBoss EAP 7 version and RHEL 7:

JBoss EAP
Supported JDKs
7.1.0Oracle JDK 1.8 – Open JDK 1.8 – IBM JDK 1.8
7.2.0Oracle JDK 1.8 and 11 – Open JDK 1.8 and 11 – IBM JDK 1.8
7.3.0Oracle JDK 1.8 and 11 – Open JDK 1.8 and 11 – IBM JDK 1.8 – Eclipse OpenJ911
7.40Oracle JDK 1.8 and 11. – IBM JDK 1.8.x – Eclipse OpenJ9 11 – Open JDK 1.8 and 11 
Azul Zulu 8.58 – 11.52 – Azul Zulu Prime 1.8.0_302 – 11.0.12
8.xJava 11 / Java 17

Finally, check the following KCS from Red Hat: https://access.redhat.com/articles/2026253

How to set the Java version in JBoss or WildFly

Configuring the JDK version in standalone mode is straightforward. If you look in the bin folder of your server installation, you will find the scripts standalone.conf (standalone.conf.bat for Windows users).

Then, you can use these script files for a variety of purposes such as setting JVM settings; here is for example how to change the JVM settings on a Linux machine to use the J2SE 8 MaxMetaspace parameter:

JAVA_OPTS="-Xms64m -Xmx1024m -XX:MaxMetaspaceSize=256M"

Finally, to know how to configure JVM settings in Domain mode, we recommend looking at this article: How to configure WildFly in Domain mode

Disclaimer

This website is independently operated and is not affiliated with or maintained by Red Hat. The views expressed here are solely those of the author at the time of writing. It’s strongly recommended to consult Red Hat’s official website or seek professional guidance from Red Hat or certified professionals before implementing JBoss EAP in your systems. The author does not assume responsibility for any decisions or actions taken based on the information provided on this website.

Was this article helpful? We need your support to keep MasterTheBoss alive!