请注意:此问题也存在类似问题,但没有任何内容可以解决这个问题
。我目前有以下Gradle依赖项:
dependencies {
compile "com.sun.jersey.contribs:jersey-apache-client4:1.18.1"
compile "com.sun.jersey:jersey-client:1.18.1"
compile "com.sun.jersey:jersey-core:1.18.1"
compile "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.3.2"
compile "org.apache.httpcomponents:httpclient:4.3.2"
compile "org.slf4j:jcl-over-slf4j:1.7.7"
}
我想将这些升级到Jersey的2.21
版本,但是:
org.glassfish.jersey.core
而不是com.sun.jersey
;和jersey-apache-client4
)似乎不存在于2.x land 所以我问,我的所有2.21
依赖项应该是什么?这些天泽西/阿帕奇客户端藏在哪里?
答案 0 :(得分:2)
对于泽西岛客户,您只需要
compile 'org.glassfish.jersey.core:jersey-client:2.21'
jersey-core
不再存在,但可以认为它与jersey-common
类似。但你不必担心这个。 jersey-client
将其拉进去。
对于Apache,Jersey 2使用连接器提供程序。见Client Transport Connectors。你想要的是Apache连接器
compile 'org.glassfish.jersey.connectors:jersey-apache-connector:2.21'
然后只需配置Client
ClientConfig config = new ClientConfig();
config.connectorProvider(new ApacheConnectorProvider());
config.register(JacksonJsonProvider.class);
Client client = ClientBuilder.newClient(config);
您还应该摆脱当前的httpclient
依赖关系。 jersey-apache-connector
将其拉进去。
有关新客户端API的常规用法,请参阅Chapter 5. Client API
您的问题标题非常通用,但从依赖关系的外观来看,您只是尝试实现客户端。但对于其他想要实现服务器的人来说,他们可以查看