Java 配置JAXB解组器以处理同时具有acessor方法和字段的类

Java 配置JAXB解组器以处理同时具有acessor方法和字段的类,java,xml,binding,jaxb,Java,Xml,Binding,Jaxb,是否可以配置JAXB上下文(用于解组器)本身,以便它可以为同时具有访问器getField()/setField()和字段的类A实例化上下文?A类不可修改:它是第三方或生成的 class A { public int field; public int getField(); public void setField(int field); } 标准JAXBContext实例化 JAXBContext jaxbContext = JAXBContext.newIns

是否可以配置JAXB上下文(用于解组器)本身,以便它可以为同时具有访问器getField()/setField()和字段的类A实例化上下文?A类不可修改:它是第三方或生成的

class A {
    public int field;
    public int getField();
    public void setField(int field);
}
标准JAXBContext实例化

   JAXBContext jaxbContext = JAXBContext.newInstance(A.class);
将给出以下例外情况

com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions

Class has two properties of the same name "field"
    this problem is related to the following location:
        at public int com.thecompany.A.getField()
        at com.thecompany.A
    this problem is related to the following location:
        at public int com.thecompany.A.field
        at com.thecompany.A
这可以通过使用

@XmlAccessorType(XmlAccessType.FIELD)
但这不是可接受的解决方案

有没有办法保持类定义不变,并且能够从XML文件中读取其实例?(可能不是JAXB?)

UPD:发现相同的问题得到了回答:


或者,在这个答案中使用:;JAXB外部绑定提供了一个很好的教程,它允许您在不更改源代码的情况下进行marshall/unmarshall处理,我相信这正是您所需要的