2

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

我正在尝试使用带有 xjb 自定义的 xsd 的 xjc 编译一些 java 类,以将 jaxb:Date 绑定到 java 日期。当我从命令行运行它时它工作得很好,但我现在正试图将它合并到一个 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。

有人对我在这里缺少的东西有任何想法吗?

4

2 回答 2

0

尝试更改jaxb:version="2.0"jaxb:version="2.1".

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

于 2013-11-19T10:14:58.990 回答
0

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

于 2017-01-19T10:02:16.697 回答