我正在尝试使用jaxb2 maven插件从xsd生成Java类。
在生成类时,它提供了以下异常:
SAXParseException绑定声明名称空间"http://annox.dev.java.net“将被忽略,因为jaxb:extensionBindingPrefixes属性没有指定它。
这是xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.emc.com/concerto/v2.0"
xmlns:val="http://annox.dev.java.net/javax.validation.constraints"
xmlns:annox="http://annox.dev.java.net"
xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.emc.com/concerto/v2.0" elementFormDefault="qualified" version="2.0">
<xs:complexType name="ValueType">
<xs:annotation>
<xs:documentation xml:lang="en">
Represents the value in a key-value pair.
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="vType" type="xs:string" use="required">
<xs:annotation>
<xs:documentation source="modifiable">always</xs:documentation>
<xs:documentation xml:lang="en">
Value type. Could be String, Number, DateTime or Boolean.
</xs:documentation>
<xs:documentation source="required">true</xs:documentation>
<xs:appinfo>
<annox:annotate target="field">
<val:NotNull/>
</annox:annotate>
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>我怎样才能解决这个问题?
发布于 2017-10-30 11:07:09
您需要将名称空间http://annox.dev.java.net的名称空间前缀添加到属性jaxb:extensionBindingPrefixes中,正如错误消息所述:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.emc.com/concerto/v2.0"
xmlns:val="http://annox.dev.java.net/javax.validation.constraints"
xmlns:annox="http://annox.dev.java.net"
jaxb:extensionBindingPrefixes="annox"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.emc.com/concerto/v2.0"
elementFormDefault="qualified"
version="2.0">https://stackoverflow.com/questions/47009867
复制相似问题