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

Reason beingorg.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 ; 提案された 2.5.1 の日付は 2013 年 9 月 27 日です。

Jersey のロード マップによると、2.3 は 2013 年 9 月 23 日に公開されるため、2.5.1 を含めることは不可能です....おそらく 2.4 です。

于 2013-09-06T21:39:29.310 に答える