Have installed the Gen 8.6 Build Tool (BT) PTF BTN86407/LU19622 which provides support for Java JDK versions 17, 21 and 25.
Using the steps in article 218649 Gen 8.6 Build Tool profile JAVA tokens for JDK compiler versions 11, 17, 21, 25 have configured Java/JSK 21 and the build is successful.
However when run javap on the resulting class files still see major version 55 which equates to Java 11 rather than 65 for Java 21 e.g."C:\Program Files\Eclipse Adoptium\jdk-21.0.4.7-hotspot\bin\javap" -verbose SVR1.class | findstr major major version: 55
Also the file model.ief\java\load_module.xml created for the build shows the Java compiler (javac) being invoked with release="11" e.g. <echo message="...Compiling Procedure Step Classes"/> <javac srcdir="C:\Users\user1\Documents\CA\Gen 8.6\Models\cstest1.ief\java\" destdir="C:\Users\user1\Documents\CA\Gen 8.6\Models\cstest1.ief\java\classes\S1" includes=" cstest1\SVR1.java, cstest1\SVR1_OA.java, cstest1\SVR1_LA.java, cstest1\package-info.java cstest1\SVR2_OA.java, " debug="on" encoding="UTF-8" release="11" includeantruntime="false" classpathref="classpath.base" />
Gen 8.6 Java applications building with Java/JDK versions 17, 21 or 25.
The BT script changes in PTF BTN86407 provide the ability to use a later Java compiler than version 11 but for such versions the Java compiler (javac) is always invoked with release="11" to build byte code that targets Java 11.
The reason this was done is to support existing Gen 8.6 Java Runtimes that were built with Java 11.