我试图升级到Jersey 2.0,但遇到了很多麻烦,因为Jersey的groupIds和artifactIds已完全更改,并且在Jersey docs中找不到迁移计划。
这是我的pom.xml过去的样子,并且编译良好:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.17</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.17</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server-linking</artifactId>
<version>1.17.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.17.1</version>
</dependency>
这些应更改为什么? This unrelated StackOverflow question was somewhat helpful,,但是我找不到
@Ref
批注移动到的地方。更新资料
@Ref
不再存在或至少是it's not mentioned in the documentation anymore。现在,您使用UriBuilder
。 HTTPBasicAuthFilter
已重命名为HttpBasicAuthFilter
。注意大写。 Client client = Client.create();
已成为Client client = ClientBuilder.newClient();
String json = client
.resource(getBaseUrl() + url)
.accept(MediaType.APPLICATION_JSON_TYPE)
.get(String.class);
已经成为
String json = client
.target(getBaseUrl())
.path(url)
.request(MediaType.APPLICATION_JSON_TYPE)
.get(String.class);
最佳答案
你不知道
Jersey 2.0缺少Jersey 1.0的许多功能。与提交者会告诉您的相反,有些事情现在根本无法实现(例如Guice,Spring集成)。事情似乎在表面上起作用,但是一旦您深入研究,您会发现许多功能仍然存在。
许多1.x插件在2.x中不存在,主要是因为上述损坏。
鉴于此,我建议在可预见的将来推迟Jersey2.x。希望提交者在来年将其清除。
关于maven - 我如何从Jersey 1.0迁移到Jersey 2.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17098341/