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

时间:2014-11-03 10:59:54

标签: java-ee jax-rs resteasy wildfly


我试图使用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提供商-3.0.8.Final.jar
  • RestEasy的-jackson2提供商-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 即可。为什么不加载?

2 个答案:

答案 0 :(得分:2)

问题不在于ResteasyJackson2Provider缺失,而是由于依赖于其他罐子而导致该类无法加载(因为它会尝试自动注册自己)(&#39} ;为什么我们使用Maven ;-)。看看this post。 在那里你可以找到所有的依赖罐子,你可以在哪里下载它们,如果你还没有它们藏在某个地方。

答案 1 :(得分:0)

Maven是一个构建工具。 Maven是否可以在运行时,对您的客户来说无关紧要。

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