【问题标题】:Unable to load builtin provider: org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider无法加载内置提供程序:org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider
【发布时间】:2014-11-03 10:59:53
【问题描述】:


我正在尝试使用 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);
}

我得到了回报:
无法加载内置提供程序: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。为什么加载不出来?

【问题讨论】:

    标签: jakarta-ee jax-rs resteasy wildfly


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      Maven 是一个构建工具。 Maven 在运行时是否可用与您的客户无关。

      您可以使用 Maven 构建程序集或着色 JAR(胖 jar,über-JAR),其中包括您的客户端和 RESTeasy 的所有传递依赖项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-16
        • 1970-01-01
        • 2021-09-23
        • 1970-01-01
        • 2012-12-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多