Date: Oct 10, 2025, 10:44 From: [email protected] To: [email protected] Subject: Bug Report: libjaxb-java incompatible with libjakarta-activation-java in Java Module System
> Dear maintainers, > > I am writing to report a packaging incompatibility between the libjaxb-java > and libjakarta-activation-java packages when used with a modern Java (9+) > application that uses the module system. > > System Information: > > Distribution: Devuan Daedalus > Package Version: libjaxb-java 2.3.0.1-10.1 > Package Version: libjakarta-activation-java 2.0.0-1 > Java Version: > openjdk 17.0.16 2025-07-15 > OpenJDK Runtime Environment (build 17.0.16+8-Debian-1deb12u1) > OpenJDK 64-Bit Server VM (build 17.0.16+8-Debian-1deb12u1, mixed > mode, sharing) > > 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 together with > the --add-modules flag, resulting in a FindException. > > Steps to Reproduce: > > On a clean Devuan Daedalus system, install the required packages: > sudo apt install default-jdk libjaxb-java libjakarta-activation-java > Create a minimal test case. The following invocation fails: > java --module-path > /usr/share/java/jaxb-api.jar:/usr/share/java/jakarta-activation.jar > --add-modules java.xml.bind,jakarta.activation -jar [any-jar-that-uses-jaxb] > > The command produces the following error: > Error occurred during initialization of boot layer > java.lang.module.FindException: Module java.activation not found, > required by java.xml.bind > > Root Cause Analysis: > The module-info.class within /usr/share/java/jaxb-api.jar contains a requires > java.base; and requires java.activation; clause. However, the > module-info.class within /usr/share/java/jakarta-activation.jar defines its > name as module jakarta.activation. The module system cannot resolve this > dependency. > > Workaround: > The only way to use these libraries is to bypass the module system entirely > and use the traditional classpath: > > java -cp > /usr/share/java/jaxb-api.jar:/usr/share/java/jaxb-runtime.jar:/usr/share/java/jakarta-activation.jar:[app].jar > [main.class] > > This is not ideal as it prevents the use of modern Java features. > > Suggested Fix: > The libjaxb-java package should be rebuilt so its jaxb-api.jar module > correctly depends on jakarta.activation instead of java.activation, aligning > it with the Jakarta EE standard that the companion packages have adopted. > > Thank you for your time and for maintaining Devuan. Please let me know if you > need any further information or testing. > > Best regards, > [email protected] >

