Java @JacksonXmlProperty(isAttribute=true)未将元素视为属性

Java @JacksonXmlProperty(isAttribute=true)未将元素视为属性,java,pojo,jackson-dataformat-xml,Java,Pojo,Jackson Dataformat Xml,我正在尝试从POJO反序列化XML。这是我的POJO课程: @Getter @Setter @JsonInclude(JsonInclude.Include.NON_NULL) @JacksonXmlRootElement(localName = "user") public final class test { @JacksonXmlProperty(isAttribute = true) private String attr = "help&

我正在尝试从POJO反序列化XML。这是我的POJO课程:

@Getter
@Setter
@JsonInclude(JsonInclude.Include.NON_NULL)
@JacksonXmlRootElement(localName = "user")
public final class test {

    @JacksonXmlProperty(isAttribute = true)
    private String attr = "help";
    @JacksonXmlText
    private String value;

    public test(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public static void main(String[] args) throws JsonProcessingException {
        ObjectMapper xmlMapper = XmlMapper.builder().addModule(new ParameterNamesModule()).build();
        System.out.println(xmlMapper.writeValueAsString(new test("help")));
    }
}

Actual Output:
<user><attr>help</attr>help</user>

Expected Output:
<user attr="help">help</user>

Libraries Used:
<dependency>
     <groupId>com.fasterxml.jackson.dataformat</groupId>
     <artifactId>jackson-dataformat-xml</artifactId>
     <version>2.12.3</version>
</dependency>
@Getter
@塞特
@JsonInclude(JsonInclude.Include.NON_NULL)
@JacksonXmlRootElement(localName=“user”)
公开期末考试{
@JacksonXmlProperty(isAttribute=true)
私有字符串attr=“help”;
@JacksonXmlText
私有字符串值;
公共测试(字符串值){
这个值=值;
}
公共字符串getValue(){
返回值;
}
公共void设置值(字符串值){
这个值=值;
}
公共静态void main(字符串[]args)引发JsonProcessingException{
ObjectMapper xmlMapper=xmlMapper.builder().addModule(新参数NamesModule()).build();
System.out.println(xmlMapper.writeValueAsString(新测试(“帮助”));
}
}
实际产量:
帮手
预期产出:
帮助
使用的图书馆:
com.fasterxml.jackson.dataformat
jackson数据格式xml
2.12.3

尽管设置了“@JacksonXmlProperty(isAttribute=true)”,但我无法理解为什么要将属性设置为元素。

您是否尝试过为
attr
添加一个getter并删除Lombok?使用Randy的建议,在这里对我来说效果很好。添加getter/setter而不使用Lombok可以很好地工作,它会生成:
help
对不起,我的错,上面的建议有效。非常感谢。