在根据https://wiki.eclipse.org/new_maven_coordines和Maven central从Java 8迁移到Java 11并从EE切换到最新的Jakarta库时,我们在(仍然基于SOAP的)客户端应用程序中遇到了以下运行时异常:
Exception in thread "main" javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl not found
at javax.xml.ws.spi.FactoryFinder$1.createException(FactoryFinder.java:31)
at javax.xml.ws.spi.FactoryFinder$1.createException(FactoryFinder.java:28)
at javax.xml.ws.spi.ServiceLoaderUtil.newInstance(ServiceLoaderUtil.java:73)
at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:82)
at javax.xml.ws.spi.Provider.provider(Provider.java:66)
at javax.xml.ws.Service.<init>(Service.java:82)
at [...]
Caused by: java.lang.ClassNotFoundException: com.sun.xml.internal.ws.spi.ProviderImpl
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at javax.xml.ws.spi.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:60)
at javax.xml.ws.spi.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:93)
at javax.xml.ws.spi.ServiceLoaderUtil.newInstance(ServiceLoaderUtil.java:71)
... 5 more
Getting java.lang.ClassNotFoundException:com.sun.xml.internal.ws.spi.ProviderImpl中描述的解决方案尽管定义了依赖项,但不起作用,也不使用Jakarta。
private static final String DEFAULT_JAXWSPROVIDER =
"com.sun"+".xml.internal.ws.spi.ProviderImpl";
我终于找到了解决问题的办法。根据如何在Java11上使用WebServices?javax.jws包不存在JAX-WS的参考实现应该包含在Java11:
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-ri</artifactId>
<version>2.3.2</version>
<type>pom</type>
</dependency>
不幸的是,使用最新的maven-compile-plugin3.8.0编译具有这种依赖关系的项目会导致https://jira.apache.org/jira/browse/mcompiler-355中描述的异常。它应该在3.8.1中修复,但版本尚未可用。
作为一种解决办法,尽管定义了依赖项,但我还是使用Getting java.lang.ClassNotFoundException:com.sun.xml.internal.ws.spi.ProviderImpl中给出的提示使我们的项目工作,并结合附加的依赖项(也就是在jaxws-ri的pom.xml中链接的解析器),以避免后续的java.lang.ClassNotFoundException:com.sun.org.apache.xml.internal.resolver.catalogManager:
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>rt</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>com.sun.org.apache.xml.internal</groupId>
<artifactId>resolver</artifactId>
<version>20050927</version>
</dependency>
也许这能帮助遇到同样问题的人。
我正在IntelliJ开发一个Web应用程序,Java /Jakarta,Maven和Tomcat 10。因此,我想使用JSTL标签,但无法让它们工作。 通过Maven,我添加了org。玻璃鱼。网址:雅加达。servlet。jsp。jstl:2.0.0。我的项目。我还在Tomcat/lib文件夹中添加了jar文件。 在我添加的jsp文件中: 为了解决“绝对uri:http://java.sun.c
Angular 是使用 TypeScript 构建的,并且支持向 Angular 提供元信息的装饰器。 TypeScript 的装饰器会让语法感觉更加“自然”,尽管有可能使用 Angular 没有的功能。
我花了一整天的时间试图弄清楚下面的迁移发生了什么。 这是表的迁移。我的想法是使用“id_stays_abroad”和“user_id”作为外键。 这是添加外键的另一个迁移 当我运行php artisan迁移时,我遇到了以下错误: SQLSTATE[HY000]:一般错误:1215无法添加外键约束(SQL:alter table
Redux 不是一个单一的框架,而是一系列的约定和一些让他们协同工作的函数。你的 Redux 项目的主体代码甚至不需要使用 Redux 的 API,大部分时间你其实是在编写函数。 这让到 Redux 的双向迁移都非常的容易。 我们可不想把你限制得死死的! 从 Flux 项目迁移 Reducer 抓住了 Flux Store 的本质,因此,将一个 Flux 项目逐步到 Redux 是可行的,无论你使
我正试图迁移到AndroidX,我们在我们的项目中使用这个库。然而,这目前在我们的项目中引起了一个问题: 无法解析对“module @ build type/compile class path”的依赖项:无法使用转换JetifyTransform转换文件“localytics-1.3.0.aar”以匹配属性{artifactType=processed-aar} 删除库会使此问题消失。在这个库被
如果你现在有一个正在使用其他 VCS 的代码库,但是你已经决定开始使用 Git,必须通过某种方式将你的项目迁移至 Git。 这一部分会介绍一些通用系统的导入器,然后演示如何开发你自己定制的导入器。 你将会学习如何从几个大型专业应用的 SCM 系统中导入数据,不仅因为它们是大多数想要转换的用户正在使用的系统,也因为获取针对它们的高质量工具很容易。 Subversion 如果你阅读过前面关于 git