This project provides a starter boilerplate for building Jakarta EE 11 applications. It includes support for various application servers and example integration tests written using the Arquillian testing framework.
- Java 21
- Maven 3.9+ (Maven 4 is recommended)
-
Payara (Jakarta REST): Serialization fails for Java 8 DateTime types because the Jackson v2 stack lacks the necessary
jackson-datatype-jsr310module. Supplemental testing has also identified various regressions in data handling. -
WildFly 40.0.0.Beta1: Initial support for derived query-by-method-name in Jakarta Data has been removed in this version.
-
OpenLiberty 26.0.0.5-beta: While all test cases pass in isolation, the runtime fails to resolve Jakarta Data repository interfaces during application startup. A fix is reportedly available in the nightly builds; verification is pending.
You can build and run the application with different application servers using Maven profiles:
- GlassFish:
mvn clean package cargo:run -Pglassfish
- GlassFish Embedded:
mvn clean glassfish-embedded:run -Pglassfish-embedded
- Payara:
mvn clean package cargo:run -Ppayara
- Open Liberty:
mvn clean package liberty:dev -Popenliberty
- WildFly:
mvn clean wildfly:run -Pwildfly
The project includes Arquillian integration tests for various managed containers. Use the following profiles to run them:
- GlassFish Managed:
mvn clean verify -Parq-glassfish-managed
- Payara Managed:
mvn clean verify -Parq-payara-managed
- WildFly Managed:
mvn clean verify -Parq-wildfly-managed
- Open Liberty Managed:
mvn clean verify -Parq-liberty-managed