Spa*_*ski 3 jaxb intellij-idea maven 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: 7; columnNumber: 10; vendor extension bindings (jaxb:extensionBindingPrefixes) are not allowed in the strict mode. Use -extension.
Run Code Online (Sandbox Code Playgroud)
这是我的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>
Run Code Online (Sandbox Code Playgroud)
这是我的架构位于/ 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>
Run Code Online (Sandbox Code Playgroud)
这是我的bindingFile位于/ 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>
Run Code Online (Sandbox Code Playgroud)
任何提示如何解决这个问题都会很棒!
好吧,伙计们,我发现了什么似乎是问题所在.我在pom.xml中缺少<extension>元素中的<configuration>元素!像这样:
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4653 次 |
| 最近记录: |