Java 使用JAXB、我的POJO和x27发布;s字段未被映射

Java 使用JAXB、我的POJO和x27发布;s字段未被映射,java,xml,spring-boot,maven,jaxb,Java,Xml,Spring Boot,Maven,Jaxb,我在Maven中使用Java8Springboot 当我尝试解组XML并用给定参数映射FTMessage对象时,对象被创建,但对象的所有字段都被映射 使无效。 在try-catch中包装解组器时,JAXB运行,不会抛出错误 因此,结果是: userShortName=null和filename=null 这是我的密码: JAXBContext JAXBContext=JAXBContext.newInstance(FTMessage.class); Unmarshaller Unmarshall

我在Maven中使用Java8Springboot

当我尝试解组XML并用给定参数映射FTMessage对象时,对象被创建,但对象的所有字段都被映射 使无效。 在try-catch中包装解组器时,JAXB运行,不会抛出错误

因此,结果是:

userShortName=null
filename=null

这是我的密码:

JAXBContext JAXBContext=JAXBContext.newInstance(FTMessage.class);
Unmarshaller Unmarshaller=jaxbContext.createUnmarshaller();
StringReader=新的StringReader(xmlMessage)//xmlMessage是一个字符串。
FTMessage msg=((FTMessage)unmarshaller.unmarshal(reader))//msg以填充null的字段结束。
和我的对象类:

package com.project.message;
导入javax.xml.bind.annotation.XmlAccessType;
导入javax.xml.bind.annotation.XmlAccessorType;
导入javax.xml.bind.annotation.xmlement;
导入javax.xml.bind.annotation.XmlRootElement;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name=“FTMessage”,命名空间=”https://www.example.com/exmpl" )
公共类FTMessage/*实现可序列化*/{
@xmlement(name=“UserShortName”)
私有字符串userShortName;
@xmlement(name=“Filename”)
私有字符串文件名;
公共信息(){
}
公共FTMessage(字符串userShortName,字符串文件名){
this.userShortName=userShortName;
this.fundShortName=文件名;
}
@凌驾
公共字符串toString(){
返回“FTMessage{userShortName:+this.userShortName+”,“+
文件名:“+this.filename+”}”;
}
公共字符串getUserShortName(){
返回userShortName;
}
public void setUserShortName(字符串userShortName){
this.userShortName=userShortName;
}
公共字符串getFilename(){
返回文件名;
}
public void setFilename(字符串文件名){
this.filename=文件名;
}
}
以及我的XML字符串:

<?xml version="1.0" encoding="UTF-8"?>
<FTMessage xmlns="https://www.example.com/exmpl"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <UserShortName>Jerome</UserShortName>
    <Filename>NotReal.csv</Filename>
</FTMessage>

杰罗姆
NotReal.csv
如果我封送它,我会得到一个包含以下内容的文件:


杰罗姆
不真实

我发现的称呼不仅是将namespace属性添加到
@XmlRootElement
中,而且还添加到所有
@XmlElement
中,如下所示:

@XmlElement(name = "UserShortName", namespace = "https://www.example.com/exmpl")