我需要使用 JAXB 通过 XML 创建一系列 Java 对象,这些对象都扩展了已经创建的公共(public)基类(不使用 JAXB)。例如,假设我有以下要生成的 JAXB 类:
Penguin.xml -> Penguin.java
Robin.xml -> Robin.java
Cardinal.xml -> Cardinal.java
我已经有一个名为
Bird.java
的现有基类我希望上面的三个类能够扩展。做这个的最好方式是什么?
谢谢你的帮助!
最佳答案
这很简单:您需要创建一个包含以下内容的 JAXB 绑定(bind)文件:
<jaxb:bindings version="1.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
>
<jaxb:globalBindings>
<!-- All beans should extend this base class: -->
<xjc:superClass name="org.mycompany.common.Bird" />
</jaxb:globalBindings>
</jaxb:bindings>
您可以找到有关此选项(和其他甜蜜的东西)的更多信息 here .
关于JAXB Marshalling - 扩展现有类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9364178/