如何在Jersey使用@XmlVariableNode?

时间:2013-09-06 21:39:29

标签: json jaxb jersey moxy

找到这个例子,正是我想要的:MOXy's @XmlVariableNode - Using a Map's Key as the Node Name,但在我的Jersey 2.2应用程序中使用它的运气很难。

@XmlVariableNode("key")上的

MapAdapter.AdapterdMap.entry发出编译错误:

  

XmlVariableNode无法解析为类型

1 个答案:

答案 0 :(得分:1)

原因org.eclipse.persistence.oxm.annotations.XmlVariableNode仅在org.eclipse.persistence.moxy(EclipseLink Moxy)2.5.1和2.6.0中可用,它们目前仅在每晚构建中提供。

为了使它与使用2.5.0的EclipseLink Moxy的Jersey 2.2一起使用,请使用以下pom.xml依赖项:

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-moxy</artifactId>
    <version>2.2</version>
    <exclusions>
        <!-- To get early access to org.eclipse.persistence.oxm.annotations.XmlVariableNode -->
        <!-- TODO get rid of exclusion and use jersey.version=2.3 when it's released -->
        <exclusion>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.moxy</artifactId>
            <!--<version>2.5.0</version>-->
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <!-- To get early access to org.eclipse.persistence.oxm.annotations.XmlVariableNode -->
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.moxy</artifactId>
    <version>2.5.1-RC1</version>
</dependency>

你也需要SNAPSHOT存储库:

<repositories>
    <repository>
        <id>oss.sonatype.org</id>
        <name>OSS Sonatype Staging</name>
        <url>https://oss.sonatype.org/content/groups/staging</url>
    </repository>
</repositories>

请注意,2.5.1-RC1是[更]稳定版本,或者您可以使用2.5.1-SNAPSHOT或2.6.0-SNAPSHOT。有关更多信息依赖性,请参阅

每当他们发布下一个版本时,您都可以删除快照/ RC标签,以观看新闻:http://wiki.eclipse.org/EclipseLink; the proposed 2.5.1 date is 27th September 2013

根据Jersey's Road Map 2.3将于2013年9月23日发布,因此不可能包括2.5.1 ......,所以可能2.4,直到那时......等待它......依赖性排除。< / p>