与JAXB类型的JPA中的函数不兼容的参数

时间:2012-07-11 18:51:05

标签: java jpa jaxb

如此处所述:How to map Duration type with 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

在每个包装器字段上。

任何线索?

谢谢!

1 个答案:

答案 0 :(得分:1)

带有此类消息的java.lang.VerifyError的原因(几乎总是)是您针对不同版本的类编译而不是运行。这意味着可能有两个版本的getValueItem - 一个具有匹配的签名,另一个没有。

大多数情况下,这个问题当然是面对外部库 - 例如,针对较新版本进行编译并使用旧版本运行。

只需清理垃圾箱,重建所有内容,也许您会发现编译时错误,或者在最佳情况下,问题会立即得到解决。