java - 带有 Getter 但没有 Setter 的 JAXB Java 运行时错误

标签 java xml jaxb

我正在使用以下类(class):

package com.mycom.ecnviewerview.viewer;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Report {

private String srunDate = null;
private String sUserID = null;
private List<Result> results = new ArrayList<Result>();

@XmlElement
public String getRunDate()
{
    return this.srunDate;
}

public void setRunDate(String pRunDate)
{
    this.srunDate = pRunDate;
}

@XmlElement
public String getUser()
{
    return this.sUserID;
}

public void SetUser(String pUser)
{
    this.sUserID = pUser;
}

@XmlElement
public List<Result> getResults()
{
    return results;
}

public void SetResults(List<Result> pResults)
{
    results = pResults;
}

当我调用以下代码时:

JAXBContext jaxbContext = JAXBContext.newInstance(Report.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();

jaxbUnmarshaller.setEventHandler(new ValidationEventHandler() {
public boolean handleEvent(ValidationEvent event ) {
throw new RuntimeException(event.getMessage(),
event.getLinkedException());
}
});     

Report report = (Report) jaxbUnmarshaller.unmarshal(new FileReader("C:\\Temp\\File.xml"));

txtRunBy.setText(report.getUser());
txtRunDate.setText(report.getRunDate());
results = report.getResults();

错误是:

Err=java.lang.RuntimeException: 该属性有一个 getter "public java.lang.String com.mycom.ecnviewerview.viewer.Report.getUser()"但没有 setter。对于解码,请定义 setter 。 (或者,如果这是一个集合属性,请确保 getter 返回一个集合实例。)

我很困惑,因为我相信我有一个 getter 和一个 setter。

有什么想法吗?

谢谢, 凯文

最佳答案

在 Java 中,约定是方法名称以小写字母开头。改变你的二传手

public void SetUser(String pUser)
{
    this.sUserID = pUser;
}

public void setUser(String pUser)
{
    this.sUserID = pUser;
}

和其他人。

关于java - 带有 Getter 但没有 Setter 的 JAXB Java 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27154736/

相关文章:

java - EntityManager.merge() 对对象图中的所有实体发出 SELECT

xml - 尝试连接具有 Xinclude 属性的 XML 文件 xml :base error

java - 用于多个包的 MOXy XmlNameTransformer

java - 针对 javax 绑定(bind)注释而不是模式进行验证

java - 如何删除 GET 请求中的一些 XML 标签

java - 如何在 Java 中设置鼠标的位置?

java - 下载文件时文件名中的","

java - 为什么 Joptionpane 在 JDialog 之上不是模态的

xml - 我怎样才能从 xsd 序列中删除排序

mysql - 使用 SQL 将 XML 导入 phpMyAdmin