嵌入式码头球衣,适用于Jersey 2.7,适用于2.9 [英] Embedded jetty & jersey, works with Jersey 2.7, exception with 2.9

查看:132
本文介绍了嵌入式码头球衣,适用于Jersey 2.7,适用于2.9的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试以下示例:

如果我在Jersey 2.7(和Jetty 9.2.5.v20141112)上运行它,它将起作用.如果我将Jersey更新为2.9(或2.14),则启动时将失败:

 WARN 2015-01-18 17:02:13,076 e.jetty.util.component.AbstractLifeCycle:212  - FAILED org.eclipse.jetty.server.Server@1741055a: java.lang.NoSuchMethodError: org.glassfish.jersey.internal.util.PropertiesHelper.getValue(Ljava/util/Map;Ljavax/ws/rs/RuntimeType;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
java.lang.NoSuchMethodError: org.glassfish.jersey.internal.util.PropertiesHelper.getValue(Ljava/util/Map;Ljavax/ws/rs/RuntimeType;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    at org.glassfish.jersey.moxy.json.MoxyJsonFeature.configure(MoxyJsonFeature.java:67)
    at org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:709)
    at org.glassfish.jersey.model.internal.CommonConfig.configureMetaProviders(CommonConfig.java:639)
    at org.glassfish.jersey.server.ResourceConfig.configureMetaProviders(ResourceConfig.java:809)
    at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:388)
    at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:163)
    at org.glassfish.jersey.server.ApplicationHandler$3.run(ApplicationHandler.java:323)
    at org.glassfish.jersey.internal.Errors$2.call(Errors.java:289)
    at org.glassfish.jersey.internal.Errors$2.call(Errors.java:286)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
...
...

有人知道如何更改所列示例的代码(或者可能是我的maven依赖项),以便在2.9/2.14上起作用吗?

马尔滕

解决方案

好的,添加我的完整POM的请求使我想到了这个问题:我使用一个属性来指定Jersey组件的版本, except 对于jersey-media-moxy依赖性,我已经将其硬编码为2.7 :(我不好,对不起...

I'm trying the examples on:

If I run this with Jersey 2.7 (and Jetty 9.2.5.v20141112), it works. If I update Jersey to 2.9 (or 2.14), it fails on startup with:

 WARN 2015-01-18 17:02:13,076 e.jetty.util.component.AbstractLifeCycle:212  - FAILED org.eclipse.jetty.server.Server@1741055a: java.lang.NoSuchMethodError: org.glassfish.jersey.internal.util.PropertiesHelper.getValue(Ljava/util/Map;Ljavax/ws/rs/RuntimeType;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
java.lang.NoSuchMethodError: org.glassfish.jersey.internal.util.PropertiesHelper.getValue(Ljava/util/Map;Ljavax/ws/rs/RuntimeType;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    at org.glassfish.jersey.moxy.json.MoxyJsonFeature.configure(MoxyJsonFeature.java:67)
    at org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:709)
    at org.glassfish.jersey.model.internal.CommonConfig.configureMetaProviders(CommonConfig.java:639)
    at org.glassfish.jersey.server.ResourceConfig.configureMetaProviders(ResourceConfig.java:809)
    at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:388)
    at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:163)
    at org.glassfish.jersey.server.ApplicationHandler$3.run(ApplicationHandler.java:323)
    at org.glassfish.jersey.internal.Errors$2.call(Errors.java:289)
    at org.glassfish.jersey.internal.Errors$2.call(Errors.java:286)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
...
...

Does anybody have any idea how to change the code of the listed examples (or maybe my maven dependencies?) so that this works on 2.9/2.14?

Maarten

解决方案

OK, the request to add my full POM pointed me to the issue: I used a property to specify the version of the Jersey components, except for the jersey-media-moxy dependency, which I had hardcode to 2.7 :( My bad, sorry all...

这篇关于嵌入式码头球衣,适用于Jersey 2.7,适用于2.9的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆