Dan*_*lan 22 jersey maven glassfish-2.x jersey-1.0 jersey-2.0
我正在尝试升级到Jersey 2.0并且我遇到了很多麻烦,因为泽西岛的groupIds和artifactIds已经完全改变了,我在Jersey文档中找不到迁移计划.
这是我的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>
Run Code Online (Sandbox Code Playgroud)
这些应该改成什么? 这个无关的StackOverflow问题有点帮助,但我很难找到@Ref注释移动到的地方.
@Ref不再存在,或者至少在文档中没有提到它.现在你使用了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);
Run Code Online (Sandbox Code Playgroud)
已经成为
String json = client
.target(getBaseUrl())
.path(url)
.request(MediaType.APPLICATION_JSON_TYPE)
.get(String.class);
Run Code Online (Sandbox Code Playgroud)Gil*_*ili 11
你没有.
Jersey 2.0缺少Jersey 1.0的许多功能.与提交者告诉你的相反,有些事情现在很难实现(例如Guice,Spring集成).事情似乎在表面上起作用,但是一旦深入挖掘,你会发现许多功能仍然存在.
许多1.x插件在2.x中不存在,主要是因为上述破损.
鉴于此,我建议在可预见的未来暂停泽西2.x. 希望提交者能够在来年清理它.
我不得不说颈部疼痛.我们目前正在深入迁移相对较大的3年以上的客户端服务器项目,男孩我想咬掉我的脖子.希望我们正处于斗争的最后阶段......虽然有一份移民指南确实无论如何都不全面.
相反,它被WebApplication异常和后继替换.在迁移指南中没有关于这一点,这非常重要.
迁移指南说:
JSON支持在Jersey 2.x中经历了一些变化.开发人员最明显的区别在于初始化和配置.
在Jersey 1.x中,JAXB/JSON支持在jersey-json模块中实现为一组MessageBodyReaders和MessageWriters.在内部,有几种JSON到Object映射的实现,从Jersey自己的自定义解决方案到第三方提供商,如Jackson或Jettison.JSON支持的配置集中在JSONConfiguration和JSONJAXBContext类中.
大.如果你选择了"泽西岛自己的定制解决方案"(我们之所以做了什么)怎么办?在球衣2中没有其他选择.我尝试使用Jettison,Jackson和Moxy提供商生成相同的JSON格式.我没有成功.作为参考,这里我没有回答的问题:Jersey 2 JSON Jettison展开根元素
| 归档时间: |
|
| 查看次数: |
22805 次 |
| 最近记录: |