-
Notifications
You must be signed in to change notification settings - Fork 96
Java 17 (LTS) Migration
⚒️ WIP: This page is in active development
Oxalis-NG is currently built on Java 11. Java 11 (Oracle JDK) GA support ended September 2023 and the extended support window is closing(~2032). Continued use of Java 11 creates the following risks:
-
Security: Running on an out-of-support JVM indicates no guaranteed security patches for most distributions (Eclipse Temurin, Microsoft, Red Hat, Azul Zulu all reached EOL in October 2024). Amazon Corretto 11 has extended support till January 2032 is the notable exception
-
Dependency lock-in: Key upstream libraries are dropping Java 11 support
- Apache CXF 4.2.x sets Java 17 as its minimum baseline
Java 17 LTS is supported through September 2029 across all major distributions, providing a stable runway for further upgrades.
Migration will be carried out through following repositories in dependency order:
The migration of each repository will follow steps listed below:
-
Java Version Update: Update source and target compatibility to Java 17 in build configuration(Maven). Refactor code to address any Java 17 specific issues or deprecations. Ensure all tests pass successfully.
-
Dependency Updates: Review and update all project dependencies to their latest versions that support Java 17+. This may involve updating the
pom.xmlfiles and resolving any compatibility issues that arise in the source files. Ensure all tests pass successfully after dependency updates. -
Deprecated API Cleanup: Identify and address any deprecated APIs or features in the codebase. This may involve refactoring code to use alternative APIs or updating third-party libraries that rely on deprecated features. Ensure all tests pass successfully after cleanup.
This phase-wise approach will ensure a smooth transition to Java 17 while minimizing risk of disruption.
| Repository | Java Version Update | Dependency Updates | Deprecation Handling |
|---|---|---|---|
| peppol-specifications | ✅ | ✅ | ✅ |
| pkix-ocsp | |||
| commons-certvalidator | |||
| vefa-peppol | |||
| oxalis-ng |
Impact on build/release pipelines needs to be investigated and updated for each repository.
-
Use of
recordkeyword is now reserved for Java record type. Wildcard imports in oxalisimport org.xbill.DNS.*conflicts withjava.lang.RecordExplicit import oforg.xbill.DNS.Recordis required.
| Repository | Branch | Status | PR | Notes/Findings |
|---|---|---|---|---|
| peppol-specifications | java17 |
✅ | ⏳ | log |
| pkix-ocsp | log | |||
| commons-validator | log | |||
| vefa-peppol | log | |||
| oxalis-ng | log |
For more information, contact: https://www.oxalis.network/ or Email: oxalis@norstella.no
People associated with Oxalis: https://github.com/orgs/OxalisCommunity/people

- Home
- Latest News and Announcements
- Governance-of-Oxalis
- License-&-COPYRIGHT
- Supported-Profiles
- Installation-and-Configuration
- Usage-and-Integration
- Onboarding-and-Testing and OpenPeppol-Testbed-and-Accreditation
- Peppol PKI 2025
- CNAME to NAPTR
- Peppol-Reporting
- Known-Limitation-and-Strategic-decision
- Troubleshooting
- How-to-Post-Issue?
- How-to-Contribute?
- Java 17 (LTS) Migration