当前位置: 首页 > 知识库问答 >
问题:

如何通过JAXB/XJC向从XSD生成的POJO添加Jackson注释?

施阎宝
2023-03-14

共有1个答案

宓毅庵
2023-03-14

在您的示例中,绑定看起来如下所示:

<jaxb:bindings node="xs:complexType[@name='myPOJO']">
    <annox:annotate>
        @org.codehaus.jackson.map.annotate.JsonSerialize
            (include=org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion.ALWAYS)
    </annox:annotate>
</jaxb:bindings>
  • 语法是Java,但必须使用完全限定的类名。
  • XJC类路径中必须存在Jackson JAR,否则将找不到您的批注。
 类似资料:
  • B/src/main/gen pom.xml 我想在B项目中从XSD生成类,它存在于一个项目中 在B项目的pom.xml中,我有:

  • 我有两个XSD,其中一个包含另一个,让我们称它们为A和B。 B有很多xs:complexType定义,并且包含在a中,但是a只对其中的一些定义感兴趣。 现在发生的事情是为B中定义的所有类型生成类。我想要实现的是只为A直接引用的类型生成类。 我曾尝试修改XSD A以导入B,而不是包含,但对于maven jaxb插件来说,效果并不理想。 XSD A导入B: 生成源的插件设置: 我知道有一种方法可以从命

  • 我一直在使用 annox 在我的 jaxb 生成的类上添加注释(通过绑定文件),但我找不到直接在包上添加注释的方法(包信息.java)。 我一直在尝试在bindings.xml中这样做: 但是jaxb抱怨说< code>annox:annotate不应该在那里。 还有别的方法吗?

  • 与JAXB为给定XSD生成JAXB类类似,Jackson是否提供了从XSD或JSON生成Jackson类的实用程序。 JAXB类geberator已经生成了一组为XSD模式定义的类。例如,对于多态类型,JAXB具有以下注释,以基于XML元素名称来标识名称。 是否可以在杰克逊中创建类似的类。即,基于XML元素名称来标识类型。

  • 我们试图使用gradle、xsd和xjc生成JAXB类,JAXB类应该具有XmlRootElement注释,以便可以将其作为web服务响应公开。我们正在跟踪这个链接http://azagorneanu.blogspot.com/2011/09/configure-maven-to-generate-classes.html,这很有帮助,但我们无法找到一个只有gradle的特定示例。所以我们想出了一

  • 我需要将XML内容绑定到pojo的String属性,为此我创建了自定义DomHandler来提取所需的部分,如下所示 将映射到pojo 我使用XSD生成我的POJO,并且我有几个自定义注释要添加到生成的POJO中,因此我使用maven-jaxb2-plugin。 问题是,它会根据需要添加注释以及与@xmlanyement互斥的@xmlement,有没有办法避免使用XSD添加@xmlement注释?