私はJoda Timeを宣言するクラスを持っていますDateTime
フィールド。JAXBが@XmlTransientフィールドのゼロ引数生成子エラーをスローします
ただし、この値はunmarhsallingプロセスによって設定されず、後でafterUnmarhsal
メソッドで設定されます。
したがって、フィールドはXmlTransient
をマークされている:起動しようとすると
@XmlTransient
private DateTime startTime;
はしかし、私はこのエラーに直面しています:
JAXBは、このクラスを気にしなければならないのはなぜjavax.xml.bind.JAXBException: Exception Description: The class org.joda.time.DateTime$Property requires a zero argument constructor or a specified factory method. Note that non-static inner classes do not have zero argument constructors and are not supported. - with linked exception: [Exception [EclipseLink-50001] (Eclipse Persistence Services - 2.2.0.v20110202-r8913) ...
、それは明らかにマーシャリングのために一過性であることを考えると、アンマーシャリングの目的は&ですか?
このフィールドを無視するようにJAXBに指示するにはどうすればよいですか?私はそこにファクトリメソッドを置くことができることを知っていますが、ファクトリがその値をインスタンス化できないことを考えると、意味がないようです(afterUnmarshal
で行われています)
このバグはおなじみです(私は調査します)。あなたは新しいバージョンを試しましたか?現在のリリースは2.3.2です:http://www.eclipse.org/eclipselink/downloads/ –
@BlaiseDoughanフォローアップと最新版のヘッドアップをありがとう。 2.3.2( '2.3.2.v20111125-r10461')で試したところ、同じエラーが出ました。 FYI - Wikiの[Mavenページ](http://wiki.eclipse.org/EclipseLink/Maven#Available_Released_Versions)は古く、2.2.0までのリリースのみがリストされています(これは私が逃した方法です)。 –
私は答えを投稿しており(http://stackoverflow.com/a/9619140/383861)、wikiページを更新しました(http://wiki.eclipse.org/EclipseLink/Maven#Available_Released_Versions)。 –