Я собираюсь добавить то, что я нашел в ходе моего исследования по переходу на JDK11, на случай, если это поможет кому-то еще.
Wsimport устарела как часть JDK, но была открыта для Eclipse Foundation. Вы можете скачать его по следующей ссылке:
[https://repo1.maven.org/maven2/com/sun/xml/ws/jaxws-ri/2.3.0/jaxws-ri-2.3.0.zip][1]
Они изменили wsimport с исполняемого файла на скрипт bat / sh, который вызывает файл jaxws-tools.jar. Я на самом деле не видел, как это работает, и всегда получаю ClassNotFoundException: javax.activation.DataSource. Я даже изменил их сценарий, чтобы включить javax.activation-api-1.2.0.jar, и он все еще не работает. Не имеет значения, пытаюсь ли я выполнить сборку через Maven или запускаю его из командной строки.
Это была моя конфигурация плагина:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.5</version>
<dependencies>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>app-wsdl-exec</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<executable>${tool.wsimport}</executable>
<wsdlFiles>
<wsdlFile>${basedir}/src/main/resources/app.wsdl</wsdlFile>
</wsdlFiles>
<bindingDirectory>src/main/resources/binding</bindingDirectory>
<bindingFiles>
<bindingFile>ws-binding.xml</bindingFile>
</bindingFiles>
<packageName>com.app.ws</packageName>
<staleFile>${project.build.directory}/jaxws/stale/APP.done</staleFile>
<sourceDestDir>${basedir}/src/main/java</sourceDestDir>
<xnocompile>false</xnocompile>
<useJdkToolchainExecutable>false</useJdkToolchainExecutable>
<keep>true</keep>
</configuration>
</execution>
</executions>
</plugin>
Я также использовал следующее для разработки под Windows и Jenkins на Linux:
<profiles>
<profile>
<id>win</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<properties>
<tool.wsimport>${env.JAXWS_HOME}/bin/wsimport.bat</tool.wsimport>
</properties>
</profile>
<profile>
<id>nix</id>
<activation>
<os>
<family>!windows</family>
</os>
</activation>
<properties>
<tool.wsimport>${env.JAXWS_HOME}/bin/wsimport.sh</tool.wsimport>
</properties>
</profile>
</profiles>