【发布时间】:2015-01-18 13:05:40
【问题描述】:
我正在尝试以下示例:
- How to embed Jetty and Jersey into my Java application
- https://nikolaygrozev.wordpress.com/2014/10/16/rest-with-embedded-jetty-and-jersey-in-a-single-jar-step-by-step
如果我使用 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?
马丁
【问题讨论】:
-
您可能在升级过程中遗漏了某个依赖项。你是如何升级库的?马文?
-
Maven 依赖项:org.glassfish.jersey.core:jersey-server org.glassfish.jersey.containers:jersey-container-servlet org.glassfish.jersey.containers:jersey-container-jetty-http org.glassfish.jersey.media:jersey-media-moxy(版本 2.7、2.9 或 2.14)除了版本号之外,我没有更改升级之间的依赖关系。
-
请使用完整的 POM 更新问题。
标签: java rest jersey jetty jax-rs