Bug Report: libjaxb-java incompatible with libjakarta-activation-java in Java Module System

[email protected] Fri, 10 Oct 2025 10:45:53 +0200 (CEST)
Newsgroups gmane.linux.debian.devel.java
Message-ID <[email protected]>
Date: Oct 10, 2025, 10:44
From: [email protected]
To: [email protected]
Subject: Bug Report: libjaxb-java incompatible with libjakarta-activation-j=
ava in Java Module System


> Dear maintainers,
>
> I am writing to report a packaging incompatibility between the libjaxb-ja=
va and libjakarta-activation-java packages when used with a modern Java (9+=
) application that uses the module system.=C2=A0
>
> System Information:=C2=A0
>
> =C2=A0=C2=A0=C2=A0=C2=A0 Distribution: Devuan Daedalus
> =C2=A0=C2=A0=C2=A0=C2=A0 Package Version: libjaxb-java 2.3.0.1-10.1
> =C2=A0=C2=A0=C2=A0=C2=A0 Package Version: libjakarta-activation-java 2.0.=
0-1
> =C2=A0=C2=A0=C2=A0=C2=A0 Java Version:=C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 openjdk 17.0.16 2025-07-15
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 OpenJDK Runtime Environment (b=
uild 17.0.16+8-Debian-1deb12u1)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 OpenJDK 64-Bit Server VM (buil=
d 17.0.16+8-Debian-1deb12u1, mixed mode, sharing)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
> Summary of the Problem:
> The jaxb-api.jar file provided by libjaxb-java declares a dependency on a=
 module named java.activation. However, the jakarta-activation.jar provided=
 by libjakarta-activation-java provides a module named jakarta.activation. =
This mismatch prevents any Java application from using both packages togeth=
er with the --add-modules flag, resulting in a FindException.=C2=A0
>
> Steps to Reproduce:=C2=A0
>
> =C2=A0=C2=A0=C2=A0=C2=A0 On a clean Devuan Daedalus system, install the r=
equired packages:
> sudo apt install default-jdk libjaxb-java libjakarta-activation-java
> =C2=A0=C2=A0=C2=A0=C2=A0 Create a minimal test case. The following invoca=
tion fails:
> =C2=A0=C2=A0=C2=A0=C2=A0 =09java --module-path /usr/share/java/jaxb-api.j=
ar:/usr/share/java/jakarta-activation.jar --add-modules java.xml.bind,jakar=
ta.activation -jar [any-jar-that-uses-jaxb]
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0 The command produces the following error:
> =C2=A0=C2=A0=C2=A0 Error occurred during initialization of boot layer
> =C2=A0=C2=A0=C2=A0 java.lang.module.FindException: Module java.activation=
 not found, required by java.xml.bind
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
> Root Cause Analysis:
> The module-info.class within /usr/share/java/jaxb-api.jar contains a requ=
ires java.base; and requires java.activation; clause. However, the module-i=
nfo.class within /usr/share/java/jakarta-activation.jar defines its name as=
 module jakarta.activation. The module system cannot resolve this dependenc=
y.=C2=A0
>
> Workaround:
> The only way to use these libraries is to bypass the module system entire=
ly and use the traditional classpath:=C2=A0
> =C2=A0
> java -cp /usr/share/java/jaxb-api.jar:/usr/share/java/jaxb-runtime.jar:/u=
sr/share/java/jakarta-activation.jar:[app].jar [main.class]
> =C2=A0
> This is not ideal as it prevents the use of modern Java features.=C2=A0
>
> Suggested Fix:
> The libjaxb-java package should be rebuilt so its jaxb-api.jar module cor=
rectly depends on jakarta.activation instead of java.activation, aligning i=
t with the Jakarta EE standard that the companion packages have adopted.=C2=
=A0
>
> Thank you for your time and for maintaining Devuan. Please let me know if=
 you need any further information or testing.=C2=A0
>
> Best regards,=C2=A0
> [email protected]
>