1

ヘイホー、

現在、JAXB シリアライゼーション プロセスに問題があります。シリアル化プロパティに使用される jaxb バージョン 2。

「package-info.class」に複数のパッケージ レベルの注釈を追加することは可能ですか? 現在、このファイルを手動で作成していますが、既に 1 つの「アダプター エントリ」があり、そこにとどまる必要があります。私はばかのように検索していますが、すべての例には1 つのエントリしかありませんが、セマンティックはより柔軟で、1 つだけではなく複数のパッケージ レベルの注釈を許可する必要があるため、それは不可能だと思います。

問題は、クラス内のすべてのマップメンバーで @XmlJavaTypeAdapter(AdapterForMap.class) を使用しているが、実際にはマップに別のタイプ (値として) が含まれていることです。たとえば、適切な xml アダプターが必要なフォントとしましょう。 . 「package-info.class」にはすでに 1 つのエントリがあるため、現時点では、この Font-Adapter のようなものを使用できません。

前もって感謝します!:)

4

1 に答える 1

3

@XmlJavaTypeAdaptersをパッケージ レベルで使用して、 の多くのインスタンスを登録できます@XmlJavaTypeAdapter

パッケージ情報

@XmlJavaTypeAdapters({
    @XmlJavaTypeAdapter(type=DateTime.class, value=DateTimeAdapter.class),
    @XmlJavaTypeAdapter(type=DateMidnight.class, value=DateMidnightAdapter.class),
    @XmlJavaTypeAdapter(type=LocalDate.class, value=LocalDateAdapter.class),
    @XmlJavaTypeAdapter(type=LocalTime.class, value=LocalTimeAdapter.class),
    @XmlJavaTypeAdapter(type=LocalDateTime.class, value=LocalDateTimeAdapter.class)
})
package blog.jodatime;

import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;    
import org.joda.time.*;

完全な例について

于 2012-04-18T09:16:06.620 に答える