2011-08-15 31 views
1

最近オープンJDKを試していますが、明らかにSUNライブラリはopenJDKランタイムの一部として含まれていません。@XmlElement - Mavenを使用したOpenJDK

SUNライブラリを組み込むためにmavinを使用するには、POMファイルに何を追加する必要があるのでしょうか。

現在、私の環境では次の注釈を使用しています。

package com.sun.xml.internal.txw2.annotation does not exist 

    @XmlElement 

答えて

3

これがjavax.xml.bind.annotation.XmlElementであるなら、あなたはJAXBまたはJava EEのAPIのどちらかに依存関係を追加する必要があります。

<dependency> 
    <groupId>javax.xml</groupId> 
    <artifactId>jaxb-api</artifactId> 
    <version>2.1</version> 
</dependency> 

それとも

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>6.0</version> 
</dependency> 

の両方がMavenの中央に利用可能であるべきです。 APIの依存関係によってコードをコンパイルできますが、実際にJAXBを使用する単体テストがある場合は、実際のJAXB実装の依存関係も宣言する必要があります。

+0

パッケージcom.sun.xml.internal.txw2.annotationが存在しません - あなたの提案を試しました。しかし。 – David

+0

@David - '@ javax.xml.bind.annotation.XmlElement'は標準のJAXBアノテーションです。あなたが' @ com.sun.xml.internal.txw2.annotation.XmlElement'を使用している理由はありますか? –

+0

@Blaise Doughan - 私はsomeonesのコードを移植している理由はありません。彼らはそれを使用した。しかし、私はopenjdkを使用していますので、それは動かないでしょう。 jaxbを使用すると例外が発生します。「annotation typeはこの種の宣言には適用できません」 – David

関連する問題