Xsd 供应商特定命名空间的绑定命名空间异常不受支持

Xsd 供应商特定命名空间的绑定命名空间异常不受支持,xsd,jaxb,schema,xjc,maven-jaxb2-plugin,Xsd,Jaxb,Schema,Xjc,Maven Jaxb2 Plugin,我有一个Vendor.xsd,其中名称空间定义引用了一个Vendor特定的名称空间。下面给出了一个片段: ... <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:common="http://annox.dev.java.net" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:vendor="http://vendor.com/xjc-plugins" el

我有一个Vendor.xsd,其中名称空间定义引用了一个Vendor特定的名称空间。下面给出了一个片段:

...
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:common="http://annox.dev.java.net" 
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:vendor="http://vendor.com/xjc-plugins"
elementFormDefault="qualified" 
jaxb:extensionBindingPrefixes="vendor common" 
jaxb:version="2.0"> 
...
xs:complexType name="VendorType">
    <xs:annotation>
        <xs:appinfo>
            <vendor:package>vendor.package</vendor:package>
        </xs:appinfo>
    </xs:annotation>
...
我使用的maven插件如下所示:

      <plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb22-plugin</artifactId>
    <version>0.13.1</version>
    <executions>
      <execution>
        <goals>
          <goal>generate</goal>
        </goals>
        <configuration>
          <schemaDirectory>src/main/resources</schemaDirectory>
          <schemaIncludes>
            <include>Vendor.xsd</include>
          </schemaIncludes>
          <generatePackage>com.vendor.model</generatePackage>
          <extension>true</extension>
          <args>
            <arg>-Xannotate</arg>
          </args>
          <plugins>
            <plugin>
              <groupId>org.jvnet.jaxb2_commons</groupId>
              <artifactId>jaxb2-basics-annotate</artifactId>
              <version>1.0.2</version>
            </plugin>
            <plugin>
              <groupId>org.jvnet.jaxb2_commons</groupId>
              <artifactId>jaxb2-basics</artifactId>
              <version>1.11.1</version>
            </plugin>
            <plugin>
              <groupId>org.jvnet.jaxb2_commons</groupId>
              <artifactId>jaxb2-basics-tools</artifactId>
              <version>1.11.1</version>
            </plugin>
          </plugins>
        </configuration>
      </execution>
    </executions>
  </plugin>

org.jvnet.jaxb2.maven2
maven-jaxb22-plugin
0.13.1
生成
src/main/resources
Vendor.xsd
com.vendor.model
真的
-山奈特
org.jvnet.jaxb2_commons
jaxb2基础注释
1.0.2
org.jvnet.jaxb2_commons
jaxb2基础知识
1.11.1
org.jvnet.jaxb2_commons
jaxb2基础工具
1.11.1

欢迎任何想法?

您似乎没有在
maven-jaxb2-plugin
配置的
plugins
部分包含您的XJC插件。绑定命名空间必须由某个插件确认。您只包括
jaxb2 basics
,但不包括将确认
http://vendor.com/xjc-plugins

那么你是说我需要找到供应商jxc插件jar吗?。。假设只要您有
jaxb:extensionBindingPrefixes=“vendor”
,您就需要一个插件来确认
vendor
名称空间。获取插件或编写一个插件来确认这些定制,或删除
jaxb:extensionBindingPrefixes=“vendor”
,例如在处理之前修补模式。最后,与供应商交谈,这个特定于XJC的东西不属于公共模式。供应商应将其从模式中移出到绑定文件中。
      <plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb22-plugin</artifactId>
    <version>0.13.1</version>
    <executions>
      <execution>
        <goals>
          <goal>generate</goal>
        </goals>
        <configuration>
          <schemaDirectory>src/main/resources</schemaDirectory>
          <schemaIncludes>
            <include>Vendor.xsd</include>
          </schemaIncludes>
          <generatePackage>com.vendor.model</generatePackage>
          <extension>true</extension>
          <args>
            <arg>-Xannotate</arg>
          </args>
          <plugins>
            <plugin>
              <groupId>org.jvnet.jaxb2_commons</groupId>
              <artifactId>jaxb2-basics-annotate</artifactId>
              <version>1.0.2</version>
            </plugin>
            <plugin>
              <groupId>org.jvnet.jaxb2_commons</groupId>
              <artifactId>jaxb2-basics</artifactId>
              <version>1.11.1</version>
            </plugin>
            <plugin>
              <groupId>org.jvnet.jaxb2_commons</groupId>
              <artifactId>jaxb2-basics-tools</artifactId>
              <version>1.11.1</version>
            </plugin>
          </plugins>
        </configuration>
      </execution>
    </executions>
  </plugin>