Getting java.lang.ClassNotFoundException: com.sun.xml.internal.ws.spi.ProviderImpl 尽管定义了依赖关系

2022-09-01 18:33:09

尽管如此,我已经定义了相关的依赖项,正如我在下面添加的那样,当我的应用调用Web服务时,我会得到异常。java.lang.ClassNotFoundException: com.sun.xml.internal.ws.spi.ProviderImpl

<dependency>
  <groupId>javax.xml.ws</groupId>
  <artifactId>jaxws-api</artifactId>
  <version>2.2.10</version>
</dependency>

<dependency>
  <groupId>com.sun.xml.ws</groupId>
  <artifactId>jaxws-rt</artifactId>
  <version>2.2.10</version>
  <type>pom</type>
</dependency>

p.s. servlet 容器是 。Apache Tomcat 9.0.4

p.s. Java 版本: .9.0.1


答案 1

@reta的答案的第一部分对我有用。这些是我的pom(Java 10)的相关依赖项:

<dependency>
  <groupId>javax.xml.ws</groupId>
  <artifactId>jaxws-api</artifactId>
  <version>2.3.1</version>
</dependency>
<dependency>
  <groupId>com.sun.xml.ws</groupId>
  <artifactId>rt</artifactId>
  <version>2.3.1</version>
</dependency>

答案 2

似乎您可能需要包含此依赖项:

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>rt</artifactId>
    <version>2.2.10</version>
</dependency>

或者(尚未检查它,但应该可以正常工作),您可能需要更改范围以导入POM依赖项。

<dependency>
  <groupId>com.sun.xml.ws</groupId>
  <artifactId>jaxws-rt</artifactId>
  <version>2.2.10</version>
  <type>pom</type>
  <scope>import</scope> 
</dependency>

推荐