Jersey 2.0-m2中的JSON支持

Jersey 2.0-m2中的JSON支持,json,maven,jersey,jackson,grizzly,Json,Maven,Jersey,Jackson,Grizzly,(我在Stackoverflow的第一篇文章,纽约到maven和Jersey;-) 为了开发一个独立的jersey JSON应用程序,我从最新的mvn原型开始 mvn archetype:generate org.glassfish.jersey.archetypes:jersey-quickstart-grizzly2 这是默认情况下不支持JSON的。我设法在Eclipse中导入并运行了它,并在我的浏览器中看到了“gottit!”页面。可以通过取消pom.xml和Main.java中

(我在Stackoverflow的第一篇文章,纽约到maven和Jersey;-)

为了开发一个独立的jersey JSON应用程序,我从最新的mvn原型开始

    mvn archetype:generate org.glassfish.jersey.archetypes:jersey-quickstart-grizzly2
这是默认情况下不支持JSON的。我设法在Eclipse中导入并运行了它,并在我的浏览器中看到了“gottit!”页面。可以通过取消pom.xml和Main.java中的行的注释来激活JSON支持(?)。因此,在使用maven生成的新项目中,我在pom.xml中激活了以下依赖项:

     <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-moxy</artifactId>
        <version>${jersey-version}</version>
    </dependency>
这将导致以下编译错误:“org.glassfish.jersey.media无法解析为变量”

然后我就被卡住了。我哪里出错了

我还想了解“JSON支持”是什么意思?在基于jersey-1.17的早期版本的程序中,我设法在Rest资源上使用@products({MediaType.APPLICATION_JSON})注释。在“参考库”中,我看到四个jackson库。在新项目中,我没有看到任何jackson库。这是因为依赖关系没有正确解析吗?或者jersey-2.0不再使用Jackson了


非常感谢您的帮助。

主课堂上的评论似乎完全是误导,因为:

  • jersey media moxy不包括org.glassfish.jersey.media.json.JsonJaxbBinder类
  • ResourceConfig没有addBinder方法(至少在当前2.0-rc1版本中)
不管怎样,你仍然可以在Jersey 2.0中使用Jackson。只需包含对jackson jaxrs json提供程序的依赖项:

<dependency>
    <groupId>com.fasterxml.jackson.jaxrs</groupId>
    <artifactId>jackson-jaxrs-json-provider</artifactId>
    <version>2.2.0</version>
</dependency>

你能想出来吗?
<dependency>
    <groupId>com.fasterxml.jackson.jaxrs</groupId>
    <artifactId>jackson-jaxrs-json-provider</artifactId>
    <version>2.2.0</version>
</dependency>
rc.register(JacksonJaxbJsonProvider.class);