0

JAXB を最新バージョンに更新することに関連していると思われる問題が発生しています。次を返すマーシャル コマンドを実行しています。

Java exception occurred:
javax.xml.bind.MarshalException
 - with linked exception:
[java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String]
        at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(Unknown Source)
        at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(Unknown Source)
Caused by: java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
        at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.reportError(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.reportError(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.reflect.AdaptedLister$ListIteratorImpl.next(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.property.ArrayERProperty.serializeBody(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsSoleContent(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(Unknown Source)
        ... 3 more
Caused by: java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
        at javax.xml.bind.annotation.adapters.NormalizedStringAdapter.marshal(Unknown Source)
        ... 13 more

このコードは以前は Jaxb1 で動作していましたが、現在はこれを返します。何か案は?

4

1 に答える 1

0

以前は同じ入力で動作していましたか?エラーは、マーシャラーが何らかの理由で文字列配列を単一の文字列にキャストしようとしていることを示しています( "[L" = array)。

于 2009-08-12T21:42:19.703 に答える