jaxb - 使用 JAXB 绑定(bind)的类重用不支持 SimpleTypes

标签 jaxb maven-jaxb2-plugin

我正在尝试重用已经编译并可用的类。这看起来可以通过按照下面的示例绑定(bind)摘录声明对预先存在的类的绑定(bind)来实现:-

<jaxb:bindings schemaLocation="MyExample.xsd">
    <jaxb:bindings node="//xs:simpleType[@name='MySimpleType']">
        <jaxb:class ref="com.example.MySimpleType" />
    </jaxb:bindings>
    <jaxb:bindings node="//xs:complexType[@name='MyComplexType']">
        <jaxb:class ref="com.example.MyComplexType" />
    </jaxb:bindings>
</jaxb:bindings>

问题是,虽然复杂类型工作得很好,但简单类型会被忽略并仍然生成....

我尝试了多种不同的表示法(例如 scd),但在简单类型上都没有成功。

非常欢迎任何想法或帮助....

最佳答案

如果您尝试引用的生成类是一个枚举(即它实现了 javax.xml.bind.annotation.XmlEnum),那么您需要使用:

jaxb:typesafeEnumClass

代替

jaxb:class

在绑定(bind)中。

关于jaxb - 使用 JAXB 绑定(bind)的类重用不支持 SimpleTypes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15656803/

相关文章:

java - 在 maven-jaxb2-plugin 中的 Maven 依赖项更改 XSD 文件后重新生成类

java - 当同一命名空间的两个 XSD 声明同一元素时,JAXB 如何解决 'is already defined' 错误

java - 有没有办法处理 JAXB 中多个 .xsd 文件中的重复元素定义?

java - 字符串到文件(JAXB 验证)

java - JAXB 可映射 XML 元素

java - 使用 maven-jaxb2-plugin 生成 java 源代码时,如何为集合启用 setter?

java - jaxb2 maven 插件,在单独的标签中定义多个模式文件

java - JAXB 自行重命名属性

java - Linux 中 SOAP 请求的请求 xml 中的 UTF-8 编码