3
我想为我的schema.xsd生成的类型在一个单独的schema.xjb绑定文件中添加globalBinding。我正在使用IntelliJ,我不确定这个问题是Maven还是Intellij在做(因为这个例子在eclipse中按预期运行)。我得到的错误是:jaxb-maven-plugin的IntelliJ bindingDirectory
org.xml.sax.SAXParseException; systemId: file:/D:/Projects/Location/To/Project/src/main/resources/xsd/schema.xsd; lineNumber: 7; columnNumber: 10; vendor extension bindings (jaxb:extensionBindingPrefixes) are not allowed in the strict mode. Use -extension.
这里是我的pom.xml构建元素:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- The name of your generated source package -->
<packageName>com.my.model.example</packageName>
<schemaDirectory>${project.basedir}/src/main/resources/xsd</schemaDirectory>
<!-- Well Intellij acts badly when it comes down to binding files, so there is that. -->
<bindingDirectory>${project.basedir}/src/main/resources/xjb</bindingDirectory>
</configuration>
</plugin>
</plugins>
</build>
这里是我的架构位于/ src目录/主/资源/ XSD:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
id="SampleSchema"
targetNamespace="http://sample.com/namespace"
elementFormDefault="qualified"
xmlns="http://sample.com/namespace"
>
<xs:element name="Example">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" maxOccurs="unbounded" />
<xs:element name="street" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
这里是我的bindingFile位于/ src目录/主/资源/ XJB
<jxb:bindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
version="2.0"
xsi:schemaLocation="../xsd/schema.xsd">
<jxb:globalBindings>
<xjc:simple/>
</jxb:globalBindings>
</jxb:bindings>
任何提示如何解决这将是伟大的!