Skip to content

Add Support for Jakarta EE 12 & GlassFish 9#9342

Open
pepness wants to merge 28 commits intoapache:masterfrom
pepness:jakartaee-12
Open

Add Support for Jakarta EE 12 & GlassFish 9#9342
pepness wants to merge 28 commits intoapache:masterfrom
pepness:jakartaee-12

Conversation

@pepness
Copy link
Copy Markdown
Member

@pepness pepness commented Apr 15, 2026

This PR should add almost full support for Jakarta EE 12 (with the same support that we have for Jakarta EE 11), there are missing pieces like:

  • The new schemas, I used new schemas from master and create the missing ones with the same content as the Jakarta EE 11 ones (I will replace them with final versions)
  • Some maven and gradle coordinates does not exist yet including the one from @juneau001
  • Something that I forgot or broke

In order to test this PR you will need:

  • GlassFish 9 add the new schemas into /glassfish/lib/schemas
  • Add the new Jakarta 12 jars into /glassfish/modules/ (e.g. persistence 4.0)
  • Use Ant projects.

These steps will decrease with upcoming GlassFish/Tomcat milestones and, new and updated schemas.

According to the Jakarta EE 12 Release Plan the final version should be released in June/July this year, the changes needed for NetBeans should be minimal. I will add support for new GlassFish 8 and Tomcat/TomEE versions the moment they are available.

Jakarta EE Platform 12 (Under development)

  • Jakarta EE 12 (EAR, CAR)
  • Jakarta EE Beans (CDI) 5.0
  • Jakarta EE Pages (JSP) 4.1
  • Jakarta EE Servlet 6.2
  • Jakarta EE Faces (JSF) 5.0
  • Jakarta EE Persistence 4.0
  • Jakarta EE Validation/Constraint 4.0

NetBeans Platform changes::

  • Add Jakarta EE 12 dummy schemas, mdd files, and packages
  • Add Jakarta EE 12 API and platform modules jakartaee12.api & jakartaee12.platform
  • JDK 21 will be the minimum for Jakarta EE 12 projects
  • Add GlassFish 9 Support
    • New deployer file nbdepjakartaee12.xml
    • New config file GlassFishV9.0.0.xml
  • Regen signature files that failed ant check-sigtests test
  • OpenJPA now support up-to Jakarta Persistence 3.1
  • Add Jakarta EE 12 support to Maven modules (dummy coordinates from io.github.juneau001)
  • Add Jakarta EE 12 support for Gradle
  • Add Jakarta EE 12 support for Payara modules
  • Add Jakarta EE 12 support to Wilfly & Tomcat modules
  • Add missing Jakarta EE 11 code
  • Bump Jakarta EE 11 version from 11.0.0-M1 to 11.0.0 in jakartaee11.api & jakartaee11.platform
  • Bump Jakarta Faces version maven coordinates
  • Add Support for Java SE 27

NetBeans Testing:

  • Verify successful execution of libraries and licenses Ant test - Failed, there is no released jars yet
  • Verify successful execution of Verify Sigtests
  • Verify successful execution of unit tests for modules glassfish.common, glassfish.javaee, glassfish.tooloing, and glassfish.eecommon
  • Started NetBeans and ensure the log didn't have any ERROR or new WARNINGS
  • Successfully register GlassFish 9.0.0-M1, create a web app, EAR, App Client, EJB and verify (all with Ant):
    • Creation of deployment descriptors (web, ejb, beans, jpa, and ear)
    • Creation of persistence unit 4.0 (after replacing GF jar with one from maven)

At the moment I cannot build my NetBeans platform, cannot download libs from https://archive.apache.org. Will wait until tomorrow to continue testing.

pepness added 27 commits April 14, 2026 17:56
-Jakarta EE 12 (EAR, CAR)
-Jakarta EE Beans (CDI) 5.0
-Jakarta EE Pages (JSP) 4.1
-Jakarta EE Servlet 6.2
-Jakarta EE Faces (JSF) 5.0
-Jakarta EE Persistence 4.0
-Jakarta EE Validation 4.0
-New deployer file
-New config file
-Add missing Jakarta EE Beans (EJB) 4.1 files
-OpenJPA now support up-to Jakarta Persistence 3.1
-Add missing Jakarta EE 11 code
-Add dummy Archetype for now
-Add Java 27 support to Tomcat/TomEE
-Add missing Jakarta EE 11 logic
-Regenerate gen-sigtest
'j2ee.core' modules

-Add missing Jakarta EE 11 code
'j2ee.ejbjarproject', 'j2ee.ejbverification' and 'j2ee.sun.dd' modules
'javaee.specs', 'web.beans' and 'web.core' modules
-Add 'jakartaee12' modules to cluster.properties file
-Add entries to rat-exclusions file
-Add entries to IndexerCache file
-Use switch expressions
-Add EJB 4.1 logic
-Add missing EJB 4.1 files
-Fix duplicate mime-type
-Fix null pointer exception when using 'profile.isAtLeast
-Fix wrong deployer when creating a GF 9 instance
-Servlet 6.2
-JSP 4.1
-GF client module 9
-Regen sig files (after failed test)
This reverts commit 42ede88462a9c334ac1e8889a03d32c9884a652d.
@pepness pepness added this to the NB30 milestone Apr 15, 2026
@pepness pepness self-assigned this Apr 15, 2026
@pepness pepness added the Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) label Apr 15, 2026
@pepness pepness added Java EE/Jakarta EE [ci] enable enterprise job enterprise [ci] enable enterprise job ci:all-tests [ci] enable all tests ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) labels Apr 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:all-tests [ci] enable all tests ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) enterprise [ci] enable enterprise job Java EE/Jakarta EE [ci] enable enterprise job Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant