0

ここで説明されているように: JPA で期間タイプをマップする方法

私は同じコードを持っており、jaxb は getter と setter ラッパーを生成しています:

@Basic
@Column(name = "VALUEITEM", length = 127)
public String getValueItem() {
    return XmlAdapterUtils.unmarshall(DurationAsString.class, this.getValue());
}

public void setValueItem(String target) {
    setValue(XmlAdapterUtils.marshall(DurationAsString.class, target));
} 

しかし、私が得たオブジェクトを永続化しようとすると:

method: pcgetValueItem signature: ()Ljava/lang/String;) Incompatible argument to function

すべてのラッパー フィールドで。

手がかりはありますか?

ありがとう!

4

1 に答える 1

1

このようなメッセージが表示される java.lang.VerifyError の理由 (ほとんどの場合) は、実行しているクラスとは異なるバージョンのクラスに対してコンパイルしたためです。これは、getValueItem の 2 つのバージョンが存在する可能性が高いことを意味します。1 つは署名が一致し、もう 1 つは一致しないものです。

もちろん、ほとんどの場合、この問題は外部ライブラリで直面します。たとえば、新しいものに対してコンパイルし、古いもので実行する場合などです。

ゴミ箱をきれいにして、すべてを再構築するだけで、代わりにコンパイル時エラーが発生するか、最善の場合、問題がすぐに解決されます。

于 2012-07-11T21:03:53.130 に答える