WildFly Elytron is a new WildFly sub-project which is completely replacing the combination of PicketBox and JAAS as the WildFly client and server security mechanism.
This repository contains the Jakarta EE integration code for WildFly Elytron, providing integration with:
- Jakarta Authentication (JASPIC)
- Jakarta Authorization (JACC)
- Jakarta Security
- RESTEasy and Web Services clients
An "elytron" (ĕl´·ĭ·trŏn, plural "elytra") is the hard, protective casing over a wing of certain flying insects (e.g. beetles).
$ git clone git@github.com:wildfly-security/wildfly-elytron-ee.gitTo use dependencies from JBoss.org, you need to add the JBoss Maven Repositories to your Maven settings.xml. For details see http://community.jboss.org/wiki/MavenGettingStarted-Users
- Java 25 or later (for building)
- Maven 3.6.0 or later
The project builds with Java 25 and targets Java 17 bytecode for backwards compatibility.
The command below builds the project and runs the embedded suite.
$ mvn clean installThis project supports testing against multiple Java versions (17, 21, and 25) using Maven Toolchains.
-
Copy the toolchains template:
$ cp toolchains.xml.template ~/.m2/toolchains.xml -
Edit
~/.m2/toolchains.xmland update the<jdkHome>paths to match your JDK installations. -
Verify your toolchains configuration:
$ mvn toolchains:display-toolchains
For automated JDK installation using SDKMAN!, see the comments in toolchains.xml.template.
Test with a specific Java version:
$ mvn clean test -Djdk.test.version=17
$ mvn clean test -Djdk.test.version=21
$ mvn clean test -Djdk.test.version=25Test with a specific JDK vendor (Temurin or Semeru):
$ mvn clean test -Djdk.test.version=21 -Djdk.test.vendor=semeruTest against all supported Java versions (17, 21, 25) in sequence:
$ mvn clean install -Ptest-all-versionsTest with Semeru distribution:
$ mvn clean install -Ptest-all-versions -Djdk.test.vendor=semeruThis will create separate test report directories for each Java version:
target/surefire-reports-java17-temurin/target/surefire-reports-java21-temurin/target/surefire-reports-java25-temurin/
This project uses GitHub Actions for continuous integration with comprehensive multi-version testing:
- Trigger: Automatically on pull requests
- Platform: Linux only
- Java Versions: 17, 21, 25
- JDK Distributions: Temurin, Semeru
- Total Permutations: 6 (3 versions × 2 distributions)
- Trigger: Scheduled daily at 2:00 AM UTC (3.x branch) and 2:30 AM UTC (4.x branch)
- Platforms: Linux, Windows, macOS
- Java Versions: 17, 21, 25
- JDK Distributions: Temurin, Semeru
- Total Permutations: 36 (18 per branch: 3 platforms × 3 versions × 2 distributions)
- Trigger: Scheduled daily at 3:00 AM UTC (3.x branch) and 3:30 AM UTC (4.x branch)
- Platform: Linux only
- Java Version: 26 (configurable)
- JDK Distributions: Temurin, Semeru, Oracle
- Total Permutations: 6 (3 per branch: 3 distributions)
All workflows can be triggered manually via GitHub Actions UI for testing purposes.
Bugs and features are tracked within the Elytron EE Jira project at https://issues.jboss.org/browse/ELYEE
This project maintains two stable branches:
- 3.x (default): Jakarta EE 10 integration
- 4.x: Jakarta EE 11 integration
Changes to the 3.x branch are regularly merged to 4.x to keep both branches synchronized.
Our contribution guide will guide you through the steps for getting started on the WildFly Elytron EE project and will go through how to format and submit your first PR.
For more details about WildFly Elytron, check out the getting started guide for developers.