jaxb maven插件的IntelliJ bindingDirectory
我想在单独的schema.xjb绑定文件中为schema.xsd生成的类型添加globalBinding。我使用的是IntelliJ,不确定这个问题是maven还是IntelliJ造成的(因为这个示例在eclipse中按预期运行)。我得到的错误是:jaxb maven插件的IntelliJ bindingDirectory,maven,intellij-idea,jaxb,jaxb2-maven-plugin,Maven,Intellij Idea,Jaxb,Jaxb2 Maven Plugin,我想在单独的schema.xjb绑定文件中为schema.xsd生成的类型添加globalBinding。我使用的是IntelliJ,不确定这个问题是maven还是IntelliJ造成的(因为这个示例在eclipse中按预期运行)。我得到的错误是: org.xml.sax.SAXParseException; systemId: file:/D:/Projects/Location/To/Project/src/main/resources/xsd/schema.xsd; lineNumber:
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.
下面是my pom.xml中的build元素:
<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>
org.codehaus.mojo
jaxb2 maven插件
1.5
生成源
xjc
com.my.model.example
${project.basedir}/src/main/resources/xsd
${project.basedir}/src/main/resources/xjb
下面是我在/src/main/resources/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>
这是我的绑定文件,位于/src/main/resources/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>
任何提示如何解决这将是伟大的 好了,伙计们,我找到了问题所在。我在pom.xml中的
元素中缺少一个
元素!像这样:
<configuration>
<packageName>com.my.model.example</packageName>
<schemaDirectory>${project.basedir}/src/main/resources/xsd</schemaDirectory>
<bindingDirectory>${project.basedir}/src/main/resources/xjb</bindingDirectory>
<!-- tada! -->
<extension>true</extension>
</configuration>
com.my.model.example
${project.basedir}/src/main/resources/xsd
${project.basedir}/src/main/resources/xjb
真的