it-swarm.com.ru

Получение Java.lang.ClassNotFoundException: com.Sun.xml.internal.ws.spi.ProviderImpl несмотря на то, что зависимости определены

Несмотря на это, я определил связанные зависимости, как я добавил ниже, получая исключение 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>

постскриптум Контейнер сервлета - Apache Tomcat 9.0.4.

постскриптум Версия Java: 9.0.1.

7
talha06

Похоже, вам может понадобиться включить эту зависимость:

<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>
4
reta

Похоже, класс com.Sun.xml.internal.ws.spi.ProviderImpl недоступен в jdk-9

jshell> Class.forName("com.Sun.xml.internal.ws.spi.ProviderImpl")
|  Java.lang.ClassNotFoundException thrown: com.Sun.xml.internal.ws.spi.ProviderImpl
|        at URLClassLoader.findClass (URLClassLoader.Java:466)
|        at DefaultLoaderDelegate$RemoteClassLoader.findClass (DefaultLoaderDelegate.Java:66)
|        at ClassLoader.loadClass (ClassLoader.Java:543)
|        at ClassLoader.loadClass (ClassLoader.Java:476)
|        at Class.forName0 (Native Method)
|        at Class.forName (Class.Java:292)
|        at (#1:1)

который доступен в jdk-8, интересно, если вы можете использовать jdk-8, если это возможно, может решить эту проблему.

2
Roshane Perera

Первая часть ответа @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>
1
Nikolaos Georgiou