2

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

@XmlVariableNode("key")onMapAdapter.AdapterdMap.entry给出编译错误:

XmlVariableNode 无法解析为类型

4

1 回答 1

1

原因org.eclipse.persistence.oxm.annotations.XmlVariableNode仅在 org.eclipse.persistence.moxy (EclipseLink Moxy) 2.5.1 和 2.6.0 中可用,目前仅在夜间构建中可用。

要使其与使用 EclipseLink Moxy 2.5.0 的 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 是 [more] 稳定版本,或者您可以使用 2.5.1-SNAPSHOT 或 2.6.0-SNAPSHOT。有关更多信息依赖项,请参阅

每当他们发布下一个版本时,您可以删除快照/RC 标签,以观看新闻:http ://wiki.eclipse.org/EclipseLink ;提议的 2.5.1 日期是 2013 年 9 月 27 日

根据泽西岛的路线图2.3 将于 2013 年 9 月 23 日发布,因此不可能包含 2.5.1...,所以可能是 2.4,在那之前...等等...依赖排除。

于 2013-09-06T21:39:29.310 回答