jakarta.activation version conflict in 2.13
See original GitHub issueI’ve tried to upgrade to 2.13 branch just recently to get rid of old jaxb namespaces (https://github.com/FasterXML/jackson-modules-base/pull/116). However after I’ve tried to build my app with jlink
I’ve got this:
Error: Two versions of module jakarta.activation found in ..\target\modules (jakarta.activation-api-1.2.1.jar and jakarta.activation-2.0.1.jar)
I’m using new Jakarta XML Bind module, here is dependency tree fragment:
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.13.0:compile
[INFO] | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.13.0:compile
[INFO] | | \- com.fasterxml.jackson.core:jackson-core:jar:2.13.0:compile
[INFO] | +- com.fasterxml.jackson.dataformat:jackson-dataformat-properties:jar:2.13.0:compile
[INFO] | +- com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.13.0:compile
[INFO] | | +- org.codehaus.woodstox:stax2-api:jar:4.2.1:compile
[INFO] | | \- com.fasterxml.woodstox:woodstox-core:jar:6.2.6:compile
[INFO] | +- com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:jar:2.13.0:compile
[INFO] | | +- jakarta.xml.bind:jakarta.xml.bind-api:jar:3.0.1:compile
[INFO] | | | \- com.sun.activation:jakarta.activation:jar:2.0.1:compile
[INFO] | | \- jakarta.activation:jakarta.activation-api:jar:1.2.1:compile
[INFO] | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.13.0:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.28:compile
So, jakarta.activation-api:jar:1.2.1
(Jackson dependency) conflicts with jakarta.activation:jar:2.0.1
(Jakarta XML Bind transitive dependency), because they’re both using same module name.
To fix this you probably should either exclude jakarta.activation-api
from module dependencies or switch to the 4.x branch that doesn’t depend on old activation API. Links to compare:
A simple workaround is to include Bind API 4.x branch as a direct dependency, it’s on RC stage.
Issue Analytics
- State:
- Created 2 years ago
- Comments:14 (11 by maintainers)
@flozano No problem: actually we have separate module for new “jakarta” annotations; old “JAXB annotations” will not be upgraded and will retain old dependency. This because like you say it is a major incompatibility, fork point.
So the idea is that only new jakarta-xmlbind will move to use Jakarta dependency. This was added in 2.13.
This was released in 2.13.2, out now.