Skip to content

[JENKINS-51965] Add support of JAXB unpackaging for Java 9+ in WAR Exploder #22826

Description

@jenkins-infra-bot

As discussed in JENKINS-51821, Jenkins won't work on Java 11 due to removed JAXB modules. I propose the following approach:

  • Package 3 JAXB libs (jaxb-api-2.3.0.jar, jaxb-core-2.3.0.1.jar, jaxb-impl-2.3.0.1.jar) to a WAR resource which does not get classloaded by default. E.g. "WEB-INF/platform-compat/java11" (or 9 ?)
  • When Jenkins starts up on Java 9+, Jenkins WAR exploder copies the libraries to "war/WEB-INF/lib" so that they get picked by classloader automatically

It will allow to have a transparent support of Java 9..11 within the WAR file (without adding modules, etc.)

A better way forward would be Multi-Version JAR, but we need a massive tooling update to support it


Originally reported by oleg_nenashev, imported from: Add support of JAXB unpackaging for Java 9+ in WAR Exploder
  • assignee: kohsuke
  • status: Closed
  • priority: Minor
  • component(s): core
  • label(s): fosdem2019, java10_hackathon
  • resolution: Won't Fix
  • resolved: 2019-02-08T14:01:41+00:00
  • votes: 0
  • watchers: 7
  • imported: 2025-11-24
Raw content of original issue

As discussed in JENKINS-51821, Jenkins won't work on Java 11 due to removed JAXB modules. I propose the following approach:

  • Package 3 JAXB libs (jaxb-api-2.3.0.jar, jaxb-core-2.3.0.1.jar, jaxb-impl-2.3.0.1.jar) to a WAR resource which does not get classloaded by default. E.g. "WEB-INF/platform-compat/java11" (or 9 ?)
  • When Jenkins starts up on Java 9+, Jenkins WAR exploder copies the libraries to "war/WEB-INF/lib" so that they get picked by classloader automatically

It will allow to have a transparent support of Java 9..11 within the WAR file (without adding modules, etc.)

A better way forward would be Multi-Version JAR, but we need a massive tooling update to support it

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions