サービスをJava 11にアップグレードしようとしています。
現在、WSDL2JAVA(Apache CXF)を使用してWSDLSに基づいてソースコードを生成します。私はすべてMaven経由でこれをやっています。ソースファイルはWSDLに基づいて正しく生成されます。
残念ながら、生成されたソースファイルの中には次のインポートが含まれています。
_import javax.xml.ws.WebFault;
import javax.jws.WebService;
_
パッケージjavax.xml.wsとjavax.jwsがありません。
私の研究では、JAXBが主要なJDKから廃止予定されていることを発見しました。したがって、私は新しい依存関係を私のPOMに追加する必要があります。私はさまざまな組み合わせを試しましたが、彼ら全員が次のように降りてくる:
_ <dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0.1</version>
</dependency>
<dependency>
<groupId>com.Sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.2</version>
</dependency>
_
残念ながら、私が何をしても、私のIDEはjavax.xml.wsとjavax.jwsを見つけることはできません。
誰かが私がこれらのパッケージを入手するように含める必要があるかもしれない依存関係を知っていますか?
そしてそれは問題の中核ではないが、ここで私のWSDL2JAVAのものです:
_<plugin>
<groupId>org.Apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>3.3.2</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/generated-sources/cxf/</sourceRoot>
<wsdlRoot>src/main/webapp/resources/wsdl/fedex</wsdlRoot>
<includes>
<include>**/*.wsdl</include>
</includes>
</configuration>
<goals>
<goal>wsdl2Java</goal>
</goals>
</execution>
</executions>
</plugin>
_
(はい、私はFedExクライアントを生成しています)。
私の場合では、追加するのに必要な唯一の依存関係は次のとおりです。
compile "com.Sun.xml.ws:jaxws-ri:2.3.3"
_
何らかの理由でバージョン2.3.0
未知の依存関係が参照されていました。