我在这里尝试了问题的解决方案JAXB Simplify plugin vs *.xjb。
但它失败了,但有以下例外
" 编译器无法接受此简化:作为元素属性自定义。它附加到错误的位置,或者它与其他绑定不一致。"
这是我使用的自定义绑定
<jaxb:bindings node="//xs:complexType[@name='Op']//xs:choice/xs:element[@name='Time']">
<simplify:as-element-property/>
</jaxb:bindings>
无法访问 jaxb 简化插件合流页面,有没有人使用过这个插件,可以举个例子吗?
这是我根据答案更新的架构
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://www.amadeus.com/APT/FOM/00" targetNamespace="http://www.amadeus.com/APT/FOM/00" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:simplify="http://jaxb2-commons.dev.java.net/basic/simplify" jaxb:extensionBindingPrefixes="simplify">
...
...
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="Time" type="xs:dateTime" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:appinfo>
<simplify:as-element-property />
</xs:appinfo>
</xs:annotation>
</xs:element>
... ...
</xs:choice>
...
我在 maven 构建过程中遇到了异常,例如“不支持的绑定命名空间” http://jaxb2-commons.dev.java.net/basic/simplify。也许你的意思是“ http://jaxb.dev.java.net/plugin /代码注入器“?”