首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在现有Java类的基础上使用XJC生成JAXB类?

如何在现有Java类的基础上使用XJC生成JAXB类?
EN

Stack Overflow用户
提问于 2013-05-30 02:26:37
回答 3查看 2.2K关注 0票数 3

场景是我有一堆.xsd格式的模式,我可以使用XJC生成它们。但是,我不喜欢使用这种方法生成的类之一,因此,我想手动策划该特定类的替换。该类正被架构中的其他类引用。有没有办法做到这一点?

EN

回答 3

Stack Overflow用户

发布于 2013-05-30 02:46:14

您可以使用外部绑定文件将XJC配置为执行所需的操作。在下面的示例中,名为Foo的复杂类型将使用现有的类com.example.Foo

binding.xml

代码语言:javascript
复制
<jxb:bindings schemaLocation="yourSchema.xsd">
    <jxb:bindings node="//xs:complexType[@name='Foo']">
        <jxb:class ref="com.example.Foo"/>
    </jxb:bindings>
</jxb:bindings>

XJC调用

代码语言:javascript
复制
xjc -d outputDir -b binding.xml yourSchema.xsd
票数 2
EN

Stack Overflow用户

发布于 2013-05-30 03:12:00

您可以在您的类中手动创建必须使用javax.xml.bind.annotation包中的jaxb注释的类。

下面是这个链接的详细信息。http://docs.oracle.com/javaee/5/api/javax/xml/bind/annotation/package-summary.html

但是如果你能更具体地回答你的问题,比如你在自动生成的类中不喜欢什么,比如类名或包名或其他任何东西,这将对回答这个问题有很大帮助。

票数 0
EN

Stack Overflow用户

发布于 2013-05-30 02:31:09

只要您使用相同的值注释字段/属性,就可以手动更改您的类,也可以更改任何引用(包括ObjectFactory类)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16821265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档