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

如何使用annox插件将include=jsonSerialize.inclusion.non_null添加到@jsonSerialize

空鸿云
2023-03-14

JAXB2-Basics-0.6.2
JAXB2-Basics-Annotate-0.6.2

在我们的maven文件中,我们还包含了-xannotate和-xtoString

    <plugin>                
<groupId>org.jvnet.jaxb2.maven2</groupId>
                    <artifactId>maven-jaxb2-plugin</artifactId>
                    <executions>
                         <execution>
                            <id>exec1</id>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                            <configuration>
                                <schemaDirectory>${basedir}/src/main/resources/xsd</schemaDirectory>
                                <bindingDirectory>${basedir}/src/main/resources/xsd</bindingDirectory>
                                <generatePackage>org.learning.json.generated</generatePackage>
                                <generateDirectory>${basedir}/generated</generateDirectory>
                                <clearOutputDir>false</clearOutputDir>
                                <includeSchemas>
                                    <includeSchema>Person.xsd</includeSchema>
                                </includeSchemas>
                                <plugins>
                                    <plugin>
                                        <groupId>org.jvnet.jaxb2_commons</groupId>
                                        <artifactId>jaxb2-basics</artifactId>
                                        <version>0.6.2</version>
                                    </plugin>
                                    <plugin>
                                        <groupId>org.jvnet.jaxb2_commons</groupId>
                                        <artifactId>jaxb2-basics-annotate</artifactId>
                                        <version>0.6.2</version>
                                    </plugin>
                                </plugins>
                                <args>
                                    <arg>-Xannotate</arg>
                                    <arg>-XtoString</arg>
                                </args>
                            </configuration>
                        </execution>

绑定文件如下

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
               xmlns:xs="http://www.w3.org/2001/XMLSchema" 
               xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:annox="http://annox.dev.java.net"
               jaxb:extensionBindingPrefixes="xjc annox"
               jaxb:version="2.0">

     <jaxb:bindings schemaLocation="Person.xsd" multiple="true">  
        <jaxb:bindings node="xs:complexType[@name='personType']/xs:sequence/xs:element[@type='xs:date']" multiple="true">
            <annox:annotate>
                <annox:annotate target="getter" annox:class="org.codehaus.jackson.map.annotate.JsonSerialize" 
                                using="org.learning.json.JsonDateSerializer"/>
            </annox:annotate>
        </jaxb:bindings>
     </jaxb:bindings>
</jaxb:bindings>
<annox:annotate>
                <annox:annotate target="getter" annox:class="org.codehaus.jackson.map.annotate.JsonSerialize" 
                                using="org.learning.json.JsonDateSerializer"
        include="org.codehause.jackson.map.annotate.JsonSerialize.Inclusion.NON_NULL"/>
            </annox:annotate> 



<annox:annotate>
                <annox:annotate target="getter" annox:class="org.codehaus.jackson.map.annotate.JsonSerialize" 
                                using="org.learning.json.JsonDateSerializer"
        include="org.codehause.jackson.map.annotate.JsonSerialize$Inclusion.NON_NULL"/>
            </annox:annotate> 
<jaxb:bindings schemaLocation="Person.xsd" multiple="true">  
        <jaxb:bindings node="xs:complexType[@name='personType']/xs:sequence/xs:element[@type='xs:date']" multiple="true">
            <annox:annotate>
                <annox:annotate target="getter" annox:class="org.codehaus.jackson.map.annotate.JsonSerialize" 
                                using="org.learning.json.JsonDateSerializer"/>
            </annox:annotate>
            <annox:annotate>
                    @org.codehaus.jackson.map.annotate.JsonSerialize
                    (include=org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion.ALWAYS
            </annox:annotate>
        </jaxb:bindings>
     </jaxb:bindings>

这也没有在注释中添加任何include部分。

共有1个答案

郝池暝
2023-03-14

免责声明:我是jaxb2-annotate-plugin的作者。

首先,尝试使用XML语法(从1.0.0开始不推荐使用该语法):

<annox:annotate
    target="getter"
    annox:class="org.codehaus.jackson.map.annotate.JsonSerialize" 
    using="org.learning.json.JsonDateSerializer"
    include="NON_NULL"/>

接下来,尝试一下Java语法:

<annox:annotate>
    @org.codehaus.jackson.map.annotate.JsonSerialize
        (include=org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion.ALWAYS)
</annox:annotate>
 类似资料:
  • 问题内容: 您好,我想知道是否有人准备 将插件添加到Telegraf for Influxdb中 。我有运行的go代码。接下来我需要什么以及将这些文件放在哪里? 我发现我需要做这样的事情: 但这是我的整个Go插件还是Go中要添加到我的Go程序中的另一个文件? file.conf存储在哪里? 如果您有我需要的清单,如何组织清单,将文件存储在什么地方,或者举个例子可能会很有帮助。 谢谢!! 问题答案:

  • 最近我安装了WebStorm。我想用它做Vue和Laravel项目。我试图添加Laravel插件,但在插件描述中说,我需要 在“Settings>Language&Frameworks>PHP>Laravel”下激活每个项目的it 问题是我在语言和框架中没有“PHP”选项可供选择。 如何安装到我的WebStorm应用程序?

  • 一些子项目有自己的build.gradle文件应用的java插件。在根项目的build.gradle中,我想将plugin findbugs应用于已经有java插件的每个子项目。build.gradle我尝试过: 和 外部循环确实会为每个子项目运行一次,但内部闭包在这两种情况下都不会运行。我怀疑这是因为子项目构建脚本在外部脚本之前生效。除了手动将findbugs插件应用到每个子项目之外,还有什么方

  • 问题内容: 我需要将SVG图形添加​​到PDF文件中。 使用iText7是否有可能? 使用iText5: 我在以下页面中发现了这一点: PdfPTable和PdfTemplate 有一种创建类似于Template的方法: 如何创建Graphics2D? 问题答案: 巧合的是,我们今天发布了SVG实现。我们目前尚不支持全部功能集,我们仍将在第二季度及以后的时间里进行开发,但是您已经可以使用它了。该工

  • 这是我有生以来第一次为IDEA开发插件。已经几乎完全实现了所有功能。现在需要向文件中添加一项-

  • 我在自己的GitHub存储库中有一个Phonegap/Cordova插件,我想将此插件添加到GitHub上的Phonegap插件存储库中https://github.com/phonegap/phonegap-plugins.我怎样才能做到这一点? 编辑 Phonegap插件库说: 我们不想再用代码“搅乱”这份回购协议。作者应该在自己的repos中维护代码,只需在自述中放置一个指针。本回购协议中的