消除生成的xjb文件中的错误

时间:2016-12-15 14:02:52

标签: java xml jaxb

我的项目生成以下文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jaxb:bindings
  xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:annox="http://annox.dev.java.net"
  xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
  jaxb:extensionBindingPrefixes="xjc annox"
  version="2.1">

  <!-- from codereview.stackexchange.com/questions/1877/jaxxb-xjc-code-generation-adding-xmlrootelement-and-joda-datetime -->  

  <!-- Application of annotations to selected classes within schemas -->

  <!-- org.example.SomeRootType @XmlRootElement -->
  <jaxb:bindings schemaLocation="domain1.xsd" node="/xs:schema">
    <jaxb:bindings node="xs:complexType[@name='SomeRootType']">
      <annox:annotate>
        <annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement" name="SomeRootType"/>
      </annox:annotate>
    </jaxb:bindings>
  </jaxb:bindings>

</jaxb:bindings>
然后,eclipse报告&#34; jaxb:extensionBindingPrefixes&#34;线

  

cvc-complex-type.3.2.2:属性&#39; jaxb:extensionBindingPrefixes&#39;不允许出现在元素中    &#39; JAXB:绑定&#39;

我不知道生成文件的工具是什么; annox.dev.java.jet似乎是一个允许在XML中进行注释的子工具,但我找不到项目中生成的或使用注释的任何XML文件。

有人能告诉我如何摆脱错误,或者至少是错误信息吗?我讨厌在我的项目中留下错误标记,而这些错误标记并不表示真正的错误;当我确实遇到错误时,它会更难注意到。

1 个答案:

答案 0 :(得分:0)

只需删除xsi:schemaLocation即可。您使用的架构不正确。它确实声明了jaxb:extensionBindingPrefixes属性,但未在jaxb:bindings中使用它。