I'm converting a project from Java 8 to Java 11 (a future conversion to Java 17 or later is deep in the backlog). Some components depend on jaxb and jaxws, which I have learned were removed.
Thanks to quite a few other articles I have learned to add the jaxb and jaxws dependencies explicitly. Now I have come across an odd case.
I have one module that uses package javax.jws and class javax.jws.WebService. My development environment has jaxws-ri.zip version 2.3.6. This contains jaxws-rt.jar. Our repo also has jaxws-rt version 2.1.7, which I am already including in the dependency list.
I have the following snippets in the module's ivy.xml file:
<dependency org="com.sun.xml.ws" name="jaxws-rt" rev="2.1.7" transitive="false" />
<dependency org="com.sun.xml.ws" name="jaxws-ri" rev="2.3.6">
<artifact name="jaxws-ri" type="zip" />
</dependency>
jaxws-ri.zip extracts at compile time into the module subdirectory dependency/java/jaxws-ri/jaxws-ri. The lib directory then contains jaxws-rt.jar. I was able to use this version of the jar to pre-compile generated Java classes. Now I need to use this version from the zip archive instead of the repository to compile the module.
So. How do I build this module using this version of jaxws-rt.jar (or if needed other jars from the zip archive) instead of the repo's version?