Closed FloBue closed 1 year ago
Hi @FloBue,
That's interesting. com.sun.xml.bind.Util
should be in library org.glassfish.jaxb:jaxb-runtime:2.3.2
that's automatically pulled in as a dependency for the plugin.
If you add the following task to your build.gradle
task allDeps(type: DependencyReportTask) {}
then run the task, in the output it should list the dependencies for jaxWsTools
.
I'd expect to see something like.
jaxWsTools
\--- com.sun.xml.ws:jaxws-tools:2.3.2
+--- com.sun.xml.ws:jaxws-rt:2.3.2
| +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2
| | \--- jakarta.activation:jakarta.activation-api:1.2.1
| +--- jakarta.xml.ws:jakarta.xml.ws-api:2.3.2
| | +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 (*)
| | +--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.1
| | +--- jakarta.annotation:jakarta.annotation-api:1.3.4
| | \--- jakarta.jws:jakarta.jws-api:1.1.1
| +--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.1
| +--- jakarta.annotation:jakarta.annotation-api:1.3.4
| +--- jakarta.jws:jakarta.jws-api:1.1.1
| +--- org.glassfish.jaxb:jaxb-runtime:2.3.2
Could you verify your output from the dependency task?
Cheers, Matt.
Hello @boothen,
Running the task gives me the following output:
jaxWsTools
\--- com.sun.xml.ws:jaxws-tools:2.3.2
+--- com.sun.xml.ws:jaxws-rt:2.3.2
| +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 -> 2.3.3
| | \--- jakarta.activation:jakarta.activation-api:1.2.2
| +--- jakarta.xml.ws:jakarta.xml.ws-api:2.3.2 -> 2.3.3
| | +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 (*)
| | +--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.2
| | | \--- jakarta.activation:jakarta.activation-api:1.2.2
| | \--- jakarta.jws:jakarta.jws-api:2.1.0
| +--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.1 -> 1.4.2 (*)
| +--- jakarta.annotation:jakarta.annotation-api:1.3.4 -> 1.3.5
| +--- jakarta.jws:jakarta.jws-api:1.1.1 -> 2.1.0
| +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 -> 2.3.3
| | +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 (*)
| | +--- org.glassfish.jaxb:txw2:2.3.3
| | +--- com.sun.istack:istack-commons-runtime:3.0.11
| | \--- com.sun.activation:jakarta.activation:1.2.2
| +--- com.sun.xml.ws:policy:2.7.6
| +--- org.glassfish.gmbal:gmbal:4.0.0
| | +--- org.glassfish.external:management-api:3.2.1
| | +--- org.glassfish.pfl:pfl-basic:4.0.1
| | +--- org.glassfish.pfl:pfl-tf:4.0.1
| | | +--- org.glassfish.pfl:pfl-asm:4.0.1
| | | \--- org.glassfish.pfl:pfl-dynamic:4.0.1
| | | +--- org.glassfish.pfl:pfl-asm:4.0.1
| | | \--- org.glassfish.pfl:pfl-basic:4.0.1
| | +--- org.glassfish.pfl:pfl-basic-tools:4.0.1
| | | \--- org.glassfish.pfl:pfl-basic:4.0.1
| | \--- org.glassfish.pfl:pfl-tf-tools:4.0.1
| | +--- org.glassfish.pfl:pfl-basic-tools:4.0.1 (*)
| | +--- org.glassfish.pfl:pfl-tf:4.0.1 (*)
| | \--- org.glassfish.pfl:pfl-asm:4.0.1
| +--- org.jvnet.staxex:stax-ex:1.8.1 -> 1.8.3
| +--- com.sun.xml.stream.buffer:streambuffer:1.5.7
| | \--- org.jvnet.staxex:stax-ex:1.8.1 -> 1.8.3
| +--- org.jvnet.mimepull:mimepull:1.9.11 -> 1.9.13
| +--- com.sun.xml.fastinfoset:FastInfoset:1.2.16
| +--- org.glassfish.ha:ha-api:3.1.12
| +--- com.sun.xml.messaging.saaj:saaj-impl:1.5.1 -> 1.5.2
| | +--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.2 (*)
| | +--- org.jvnet.staxex:stax-ex:1.8.3
| | \--- com.sun.activation:jakarta.activation:1.2.2
| +--- com.fasterxml.woodstox:woodstox-core:5.1.0
| | \--- org.codehaus.woodstox:stax2-api:4.1
| +--- org.codehaus.woodstox:stax2-api:4.1
| \--- jakarta.activation:jakarta.activation-api:1.2.1 -> 1.2.2
+--- com.sun.xml.bind:jaxb-xjc:2.3.2
+--- com.sun.xml.bind:jaxb-jxc:2.3.2
+--- jakarta.xml.ws:jakarta.xml.ws-api:2.3.2 -> 2.3.3 (*)
+--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 -> 2.3.3 (*)
+--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.1 -> 1.4.2 (*)
+--- jakarta.jws:jakarta.jws-api:1.1.1 -> 2.1.0
\--- jakarta.annotation:jakarta.annotation-api:1.3.4 -> 1.3.5
There definitely seems to be something from com.sun.xml.bind
near the bottom, although not as part of org.glassfish.jaxb:jaxb-runtime
as far as I see.
Regards, Florian
Hi @FloBue,
Thanks for coming back to me. I can see org.glassfish.jaxb:jaxb-runtime:2.3.2 -> 2.3.3
. This means there's some configuration that's forcing a newer version of that library. org.glassfish.jaxb:jaxb-runtime:2.3.3
is missing the Util class, it looks like it has been renamed to Utils.
What I would suggest trying, is adding the following line to your build.gradle
to try to force the plugin to use the required version.
jaxWsTools "org.glassfish.jaxb:jaxb-runtime:2.3.2"
Cheers, Matt.
Hey @boothen,
my build is passing now, so I guess that fixed the issue. Thanks a lot for your assistance!
Just out of curiosity, by "some configuration" you mean something else in my build.gradle that I'm currently not aware of that caused the newer version?
Regards, Florian
Hi @FloBue,
Yeah it'll be a dependency or transitive dependency that is forcing the newer version. You can probably find it by searching the output of the allDeps task for org.glassfish.jaxb:jaxb-runtime:2.3.3
to figure out where it's coming from.
I'll see if it's possible for the plugin to force the dependencies it uses so that others don't run into similar issues.
Cheers, Matt.
EDIT Nevermind, the suggested fix did work, but I had to add it and not replace the other jaxWsTools line. The resulting build.gradle is as follows:
dependencies {
...
// Specify previous version of JAXWS tools to use
jaxWsTools "org.glassfish.jaxb:jaxb-runtime:2.3.2"
jaxWsTools "com.sun.xml.ws:jaxws-tools:2.3.2"
// Specify previous version of WS/XML/JWS classes
implementation"javax.xml.bind:jaxb-api:2.3.1"
implementation "javax.xml.ws:jaxws-api:2.3.1"
implementation "javax.jws:javax.jws-api:1.1"
}
Did you find a way to force it? Im running into the same problem but this suggested fix doesnt work:
jaxWsTools "org.glassfish.jaxb:jaxb-runtime:2.3.2"
The 2.3.3 version seems to be pulled by spring libraries build.gradle
wsimport {
includeDependencies = false
target = "2.2"
wsdl = "service.wsdl"
}
dependencies {
...
// Specify previous version of JAXWS tools to use
jaxWsTools "com.sun.xml.ws:jaxws-tools:2.3.2"
// Specify previous version of WS/XML/JWS classes
implementation "javax.xml.bind:jaxb-api:2.3.2"
implementation "javax.xml.bind:jaxb-api:2.3.2"
implementation "javax.xml.ws:jaxws-api:2.3.2"
implementation "javax.jws:javax.jws-api:1.1"
Heres the output from allDeps:
jaxWsTools
\--- com.sun.xml.ws:jaxws-tools:2.3.2
+--- com.sun.xml.ws:jaxws-rt:2.3.2
| +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 -> 2.3.3
| | \--- jakarta.activation:jakarta.activation-api:1.2.2
| +--- jakarta.xml.ws:jakarta.xml.ws-api:2.3.2 -> 2.3.3
| | +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 (*)
| | +--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.2
| | | \--- jakarta.activation:jakarta.activation-api:1.2.2
| | \--- jakarta.jws:jakarta.jws-api:2.1.0
| +--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.1 -> 1.4.2 (*)
| +--- jakarta.annotation:jakarta.annotation-api:1.3.4 -> 1.3.5
| +--- jakarta.jws:jakarta.jws-api:1.1.1 -> 2.1.0
| +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 -> 2.3.8
| | +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 (*)
| | +--- org.glassfish.jaxb:txw2:2.3.8
| | +--- com.sun.istack:istack-commons-runtime:3.0.12
| | \--- com.sun.activation:jakarta.activation:1.2.2
| +--- com.sun.xml.ws:policy:2.7.6
| +--- org.glassfish.gmbal:gmbal:4.0.0
| | +--- org.glassfish.external:management-api:3.2.1
| | +--- org.glassfish.pfl:pfl-basic:4.0.1
| | +--- org.glassfish.pfl:pfl-tf:4.0.1
| | | +--- org.glassfish.pfl:pfl-asm:4.0.1
| | | \--- org.glassfish.pfl:pfl-dynamic:4.0.1
| | | +--- org.glassfish.pfl:pfl-asm:4.0.1
| | | \--- org.glassfish.pfl:pfl-basic:4.0.1
| | +--- org.glassfish.pfl:pfl-basic-tools:4.0.1
| | | \--- org.glassfish.pfl:pfl-basic:4.0.1
| | \--- org.glassfish.pfl:pfl-tf-tools:4.0.1
| | +--- org.glassfish.pfl:pfl-basic-tools:4.0.1 (*)
| | +--- org.glassfish.pfl:pfl-tf:4.0.1 (*)
| | \--- org.glassfish.pfl:pfl-asm:4.0.1
| +--- org.jvnet.staxex:stax-ex:1.8.1 -> 1.8.3
| +--- com.sun.xml.stream.buffer:streambuffer:1.5.7
| | \--- org.jvnet.staxex:stax-ex:1.8.1 -> 1.8.3
| +--- org.jvnet.mimepull:mimepull:1.9.11
| +--- com.sun.xml.fastinfoset:FastInfoset:1.2.16
| +--- org.glassfish.ha:ha-api:3.1.12
| +--- com.sun.xml.messaging.saaj:saaj-impl:1.5.1 -> 1.5.3
| | +--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.2 (*)
| | +--- org.jvnet.staxex:stax-ex:1.8.3
| | \--- com.sun.activation:jakarta.activation:1.2.2
| +--- com.fasterxml.woodstox:woodstox-core:5.1.0
| | \--- org.codehaus.woodstox:stax2-api:4.1
| +--- org.codehaus.woodstox:stax2-api:4.1
| \--- jakarta.activation:jakarta.activation-api:1.2.1 -> 1.2.2
+--- com.sun.xml.bind:jaxb-xjc:2.3.2
+--- com.sun.xml.bind:jaxb-jxc:2.3.2
+--- jakarta.xml.ws:jakarta.xml.ws-api:2.3.2 -> 2.3.3 (*)
+--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 -> 2.3.3 (*)
+--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.1 -> 1.4.2 (*)
+--- jakarta.jws:jakarta.jws-api:1.1.1 -> 2.1.0
\--- jakarta.annotation:jakarta.annotation-api:1.3.4 -> 1.3.5
When using the workaround for javax instead of jakarta packages described in the README, wsimport throws the following exception: