Issue: Raise Java baseline to 17 & ensure FBA runs cleanly on JDK 22+
Summary
SBSCL currently targets Java 8. This issue proposes to raise the minimum required Java version to 17 (LTS) and to verify FBA runs cleanly on JDK 22+. This removes Java 8 support and the related maintenance burden.
Motivation
- Modern JDKs (17/22+) provide security, performance, and tooling improvements.
- Avoid brittle JAXP conflicts on newer JDKs (e.g.,
AbstractMethodError in Log4j2 XML config when legacy XML parsers shadow the JDK’s).
- Simplify build, CI, and contributor experience.
Proposed Change
- Set baseline to Java 17: update
maven-compiler-plugin to <release>17</release>.
- CI matrix: test on JDK 17 (LTS) and JDK 22+.
- Classpath hardening: remove/avoid legacy XML parser stack (
xercesImpl, xml-apis, xalan) so the JDK’s JAXP is used.
- Docs: update
README.md / INSTALL.md to state Java 17+ is required.
Observed Behavior (current)
- On JDK 22, early failures can occur in Log4j2 XML config if legacy XML parsers take precedence over the JDK’s, leading to
AbstractMethodError.
Removing those legacy parsers allows the FBA path to initialize and solve as expected.
Impact / Compatibility
- Breaking change: downstream users must run on Java 17+.
- Build and runtime get simpler; fewer surprises on modern JDKs.
Issue: Raise Java baseline to 17 & ensure FBA runs cleanly on JDK 22+
Summary
SBSCL currently targets Java 8. This issue proposes to raise the minimum required Java version to 17 (LTS) and to verify FBA runs cleanly on JDK 22+. This removes Java 8 support and the related maintenance burden.
Motivation
AbstractMethodErrorin Log4j2 XML config when legacy XML parsers shadow the JDK’s).Proposed Change
maven-compiler-pluginto<release>17</release>.xercesImpl,xml-apis,xalan) so the JDK’s JAXP is used.README.md/INSTALL.mdto state Java 17+ is required.Observed Behavior (current)
AbstractMethodError.Removing those legacy parsers allows the FBA path to initialize and solve as expected.
Impact / Compatibility