RestEasy客户端所需的jar子

我需要提供一个java REST客户端,它应该包含一个包中所有必需的jar。 我选择RestEasy作为REST框架,因为服务器应用程序是在JBoss上完成的。

到目前为止,我发现的几乎所有示例都使用应用程序容器环境,其中提供了这些lib,因此在编译期间只需要Java EE API或使用Maven构建,因此依赖项会自动解决,这可能是一个好主意,当前的标准方法,但由于项目相关的原因,我需要在lib文件夹中的jar,并能够在构建期间包含一个可执行jar。

所以我的问题是,哪个jar子有必要建立一个可以做类似的简单客户端:

ResteasyClient client = new ResteasyClientBuilder().build(); ResteasyWebTarget target = client.target(myURL).queryParam("param", "value"); Builder builder = target.request(MediaType.APPLICATION_JSON).header("user", "abc"); Invocation invocation = builder.buildGet(); MyResponseObject response = invocation.invoke(MyResponseObject .class); 

最简单的方法是使用Maven 。 我这么说的原因是,你想要的主要工件是resteasy-client工件,但是这个工件依赖于其他工件。 如果我创建一个新的Maven项目,只添加此依赖项

  org.jboss.resteasy resteasy-client 3.0.9.Final  

该项目将吸引所有这些文物

在此处输入图像描述

但如果您不使用Maven,可以在此处下载整个resteasy软件包。 它提供了比你需要的更多,但它将包含你在上图中看到的所有jar子,以及其他一些好东西,如用户指南,示例等。 根据上图,只需获得所需的jar子。 确保下载最终版本。 当你解压缩它时,所有的jar都应该在lib目录中。

我可能会提到的另一件事是,为了将JSON表示解组到Java类中,您可能还需要resteasy-jackson2-provider 。 如上所述,您将看到这些工件

在此处输入图像描述

同样,这些也包含在下载中。 这在大多数情况下都适用,如果您使用JAXB注释(可以返回XML或JSON),因为插入了工件jackson-module-jaxb-annotations ,但该工件不支持所有JAXB注释,因此您可能如果需要,需要拉入resteasy-jaxb-provider 。 就像我说的那样,只有jackson2提供商可能就足够了。 但是如果你需要jaxb-prodiver,这就是它的样子

在此处输入图像描述

再次,包含在下载中

如果在项目中使用maven,则可以键入dependency:tree以查看依赖项的层次结构。 RestEasy使用的库将列在树中。