Java 向jaxbxml添加注释
我想向提供给JAXB的XML文件添加注释 我们需要创建具有相同属性名和数据类型的对象,但具有不同的JSON键 JSON中的键名称将根据提供的注释而有所不同。这些注释是GSON注释,例如:@SerializedName(“您想要的JSON的键名”) 我试着从我发布的问题中获取一些信息 但并没有真正得到任何解决办法 有人有什么建议吗 我将添加一些XML模式来解释Java 向jaxbxml添加注释,java,json,jaxb,Java,Json,Jaxb,我想向提供给JAXB的XML文件添加注释 我们需要创建具有相同属性名和数据类型的对象,但具有不同的JSON键 JSON中的键名称将根据提供的注释而有所不同。这些注释是GSON注释,例如:@SerializedName(“您想要的JSON的键名”) 我试着从我发布的问题中获取一些信息 但并没有真正得到任何解决办法 有人有什么建议吗 我将添加一些XML模式来解释 <xsd:complexType name="RouteType"> <xsd:attribute name="Pos
<xsd:complexType name="RouteType">
<xsd:attribute name="Pos" type="xsd:int" use="optional" default="1"/>
<xsd:attribute name="Dir" type="DirType" use="required"/>
</xsd:complexType>
现在在上面的模式中,我可以向属性Pos添加注释吗?我假设您正在询问如何让JAXB编译器自动为生成的类添加注释。有一个用于添加注释的JAXB插件: 您可以将其挂接到Maven构建的
生成源代码阶段,如下所示:
<build>
<!-- snip -->
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.8.2</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaIncludes>
<include>path/to/your/schema.xsd</include>
</schemaIncludes>
<bindingIncludes>
<include>path/to/your/custom-bindings.xjb</include> <!-- if you choose to use a custom bindings file instead of inline annotations in the xsd -->
</bindingIncludes>
<forceRegenerate>true</forceRegenerate>
<extension>true</extension>
<episode>false</episode>
<args>
<arg>-Xannotate</arg>
</args>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics-annotate</artifactId>
<version>0.6.4</version>
</plugin>
</plugins>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
org.jvnet.jaxb2.maven2
maven-jaxb2-plugin
0.8.2
生成源
生成
path/to/your/schema.xsd
路径/to/your/custom-bindings.xjb
真的
真的
假的
-山奈特
org.jvnet.jaxb2_commons
jaxb2基础注释
0.6.4
如果上面的插件不能完全满足您的需要(我认为应该这样做,它看起来非常灵活),那么您自己进行修改应该不会太困难(我之前已经这样做了,将复制构造函数添加到生成的类中).当你说向JAXB XML添加注释时,你的确切意思是什么?我想我会稍微修改一下这个问题,以便它易于理解。