无法加载内置提供程序:org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider

use*_*073 5 jax-rs resteasy wildfly jakarta-ee


我正在尝试使用 Java 桌面应用程序将一些对象(字符串)发布到部署在 WildFly 应用程序服务器上的 REST 服务。不幸的是,我没有在运行时为客户端提供 Maven,因此我必须手动添加所需的 JAR 文件。然而,即使使用像这样的简单 POST:

public static void testParam() {
    Client client = ClientBuilder.newClient();
    String s="DatiAtto.xml";
    WebTarget myResource = client.target(BASE_URL+"/create");
    Response rs = myResource.request()
    .post(Entity.text(s), Response.class);
}
Run Code Online (Sandbox Code Playgroud)

我得到的回报:
Unable to loadbuiltinprovider: org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider
到目前为止,我已将以下 JAR 文件添加到桌面应用程序:

  • jaxrs-api-3.0.8.Final.jar
  • Resteasy-jaxb-provider-3.0.8.Final.jar
  • resteasy-jackson2-provider-3.0.8.Final.jar
  • Resteasy-client-3.0.8.Final.jar
  • Resteasy-jaxrs-3.0.8.Final.jar

查看它们的内容,类org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider应该被打包到resteasy-jackson2-provider-3.0.8.Final.jar中。为什么没有被加载?

Pau*_*tha 2

问题不在于ResteasyJackson2Provider缺少,而在于该类由于对其他 jar 的依赖而无法加载(因为它尝试自动注册自身)(这就是我们使用 Maven 的原因;-)。看看这个帖子。在那里你会找到所有依赖的 jar 包,并且你可以在哪里下载它们,如果你还没有的话,可以把它们藏在某个地方。