如何使用Maven将Jersey客户端集成到我的servlet代码中

时间:2016-04-28 14:43:36

标签: java maven servlets neo4j jersey-client

我正在尝试使用Jersey客户端,如2.2.9 Neo4j手册的第7.1章。这是我的maven依赖

       <dependency>
      <groupId>org.glassfish.jersey.containers</groupId>
      <!-- if your container implements Servlet API older than 3.0, use "jersey-container-servlet-core"  -->
      <artifactId>jersey-container-servlet</artifactId>
      <version>2.22.2</version>
    </dependency>
    <!-- Required only when you are using JAX-RS Client -->
    <dependency>
      <groupId>org.glassfish.jersey.core</groupId>
      <artifactId>jersey-client</artifactId>
      <version>2.22.2</version>
    </dependency>
    <dependency>
      <groupId>org.glassfish.jersey.media</groupId>
      <artifactId>jersey-media-json-jackson</artifactId>
      <version>2.22.2</version>
    </dependency>

在我的代码中,我导入如下:

 import org.glassfish.jersey.api.client.*;

但是当我编译特定的Jersey类Client时,找不到ClientResponse和WebResource。

我尝试了各种依赖项和导入,似乎没什么用。

截至2016年4月的正确方法是什么?

由于

1 个答案:

答案 0 :(得分:0)

是的,所以这些类ClientResponseWebResource来自Jersey 1.x客户端,与Jersey 2.x完全不同。如果您想按照指南操作并使用1.x,只需使用以下依赖项

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-client</artifactId>
    <version>1.19.1</version>
</dependency>

为JSON / POJO支持添加以下内容

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-json</artifactId>
    <version>1.19.1</version>
</dependency>

您还需要在客户端上配置JSON / POJO支持

ClientConfig config = new DefaultClientConfig();
config.getProperties().put(JSONConfiguration.FEATURE_POJO_MAPPING, true);
Client client = Client.create(config);

如果您想使用较新的2.x客户端(您当前拥有的依赖项),请查看the documentation。此外,如果您决定使用2.x,则不需要jersey-container-servlet。这仅适用于服务器实施,您将需要一堆不需要的罐子。