与 Ant 的 XJC 错误"自定义未与任何架构元素关联"



我的问题很像这个问题,但有一些小的差异让我完全不知所措。

我正在尝试使用 xjc 编译一些 java 类,其中包含带有 xjb 自定义的 xsd,以将 jaxb:Date 绑定到 java date。 当我从命令行运行它时,它工作正常,但现在我正在尝试将其合并到 ant 脚本中,但出现错误:

[错误] "jaxb:globalBindings" 定制不与任何架构元素关联。

这是我的 XJB:

<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"    xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jaxb:globalBindings>
      <jaxb:javaType   name="java.util.Date"
    xmlType="xs:dateTime"
    parseMethod="sel.date.XsdDateTimeConverter.unmarshal"
    printMethod="sel.date.XsdDateTimeConverter.marshalDateTime"        
      /><jaxb:javaType 
    name="java.util.Date"
    xmlType="xs:date"
    parseMethod="sel.date.XsdDateTimeConverter.unmarshal"
    printMethod="sel.date.XsdDateTimeConverter.marshalDate"
    />
</jaxb:globalBindings>
</jaxb:bindings>

我没有使用 maven,所以我不能真正使用上面列出的答案。 此外,似乎需要知道将要合并它的架构,但我真的不想这样做,因为我正在尝试将其设置为可用于不同 xsd 的通用脚本。

有人对我在这里错过了什么有任何想法吗?

尝试将jaxb:version="2.0"更改为jaxb:version="2.1"

当然,这取决于您的jaxb生成器。

这可能是由于旧版本的jaxb和xjc。我在运行 maven-jaxb-plugin 1.1 时遇到了此错误,升级插件的版本解决了这个问题。

相关内容

最新更新