Getting java.lang.ClassNotFoundException: com.sun.xml.internal.ws.spi.ProviderImpl despite the dependencies are defined
尽管我已经定义了相关的依赖关系(如我在下面添加的那样),但当我的应用程序调用Web服务时却出现了
1 2 3 4 5 6 7 8 9 10 11 12 | <dependency> <groupId>javax.xml.ws</groupId> jaxws-api</artifactId> <version>2.2.10</version> </dependency> <dependency> <groupId>com.sun.xml.ws</groupId> jaxws-rt</artifactId> <version>2.2.10</version> <type>pom</type> </dependency> |
p.s。 Servlet容器是
p.s。 Java版本:
@reta回答的第一部分对我有用。这些是我pom(Java 10)的相关依赖项:
1 2 3 4 5 6 7 8 9 10 | <dependency> <groupId>javax.xml.ws</groupId> jaxws-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>com.sun.xml.ws</groupId> rt</artifactId> <version>2.3.1</version> </dependency> |
似乎您可能需要包括以下依赖项:
1 2 3 4 5 | <dependency> <groupId>com.sun.xml.ws</groupId> rt</artifactId> <version>2.2.10</version> </dependency> |
或者(尚未检查,但应该可以工作)您可能需要更改范围以导入POM依赖项。
1 2 3 4 5 6 7 | <dependency> <groupId>com.sun.xml.ws</groupId> jaxws-rt</artifactId> <version>2.2.10</version> <type>pom</type> <scope>import</scope> </dependency> |
今天在雅加达时代,我需要以下两个依赖项:
1 2 3 4 5 6 7 8 9 10 11 | <dependency> <groupId>jakarta.xml.ws</groupId> jakarta.xml.ws-api</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>com.sun.xml.ws</groupId> jaxws-rt</artifactId> <version>2.3.3</version> </dependency> |
我觉得很奇怪的是,第二个依赖项不是来自Jakarta,我认为所有这些实现都已迁移。它可以工作,但是如果有人可以对此发表评论,我将不胜感激。
似乎类
中不可用
1 2 3 4 5 6 7 8 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来解决问题。
从Java 8升级到Java 11时遇到了同样的问题。
问题是ForkJoinPool中的行为发生了变化,该类加载器是jdk9系统类加载器,而不是主线程类加载器,它可能产生难以解决的ClassNotFound异常。
最好在此答案中进行解释https://stackoverflow.com/a/59444016/878015