Java 多重<;方案绑定>;在定义包时为目标命名空间定义
我的项目中有3个XSD。两个在名称空间“A”中,一个在名称空间“B”中 我想将XSD-1、XSD-2(相同的名称空间)生成到一个包中。 然后在不同的包中生成XSD-3 我正试图通过bindings.xjb文件来实现这一点 如果我申报Java 多重<;方案绑定>;在定义包时为目标命名空间定义,java,xsd,jaxb,jaxb2,maven-jaxb2-plugin,Java,Xsd,Jaxb,Jaxb2,Maven Jaxb2 Plugin,我的项目中有3个XSD。两个在名称空间“A”中,一个在名称空间“B”中 我想将XSD-1、XSD-2(相同的名称空间)生成到一个包中。 然后在不同的包中生成XSD-3 我正试图通过bindings.xjb文件来实现这一点 如果我申报 <jxb:bindings schemaLocation="xsd1-namespaceA.xsd"> <jxb:schemaBindings> <jxb:package name="com.xsdPrimary
<jxb:bindings schemaLocation="xsd1-namespaceA.xsd">
<jxb:schemaBindings>
<jxb:package name="com.xsdPrimary" />
</jxb:schemaBindings>
</jxb:bindings>
<jxb:bindings schemaLocation="xsd2-namespaceA.xsd">
<jxb:schemaBindings>
<jxb:package name="com.xsdPrimary" />
</jxb:schemaBindings>
</jxb:bindings>
<jxb:bindings schemaLocation="xsd3-namespaceB.xsd">
<jxb:schemaBindings>
<jxb:package name="com.xsdSecondary" />
</jxb:schemaBindings>
</jxb:bindings>
然后我得到一个错误:
com.sun.istack.SAXParseException2: Multiple <schemaBindings> are defined for the target
namespace "http://www.jeff-test.org/namespaceA/"
com.sun.istack.SAXParseException2:为目标定义了多个
名称空间“http://www.jeff-test.org/namespaceA/"
如果删除绑定文件中的前两个条目,则生成工作正常,但它会将我的所有类放在一个名为“jeff test.namespaceA”的包中(对于namespaceA),将来自namespaceB的所有类放在包“com.xsdSecondary”中
我希望将namespace-A中的所有类放在一个包中,将namespace-B中的所有类放在另一个包中
这可能吗
为目标命名空间“”定义了多个
如果我删除绑定文件中的前两个条目,那么生成工作正常,但它会将我的所有类放入一个名为“jeff test.namespaceA”的包中,用于namespaceA
只需删除namespaceA
的一个条目即可。将两者都删除背后的逻辑是什么
<jxb:bindings schemaLocation="xsd1-namespaceA.xsd">
<jxb:schemaBindings>
<jxb:package name="com.xsdPrimary" />
</jxb:schemaBindings>
</jxb:bindings>
<jxb:bindings schemaLocation="xsd3-namespaceB.xsd">
<jxb:schemaBindings>
<jxb:package name="com.xsdSecondary" />
</jxb:schemaBindings>
</jxb:bindings>
schemaBindings
被视为每个命名空间一次,它绑定到哪个架构文件并不重要(只要该文件是编译的一部分)
为目标命名空间“”定义了多个
如果我删除绑定文件中的前两个条目,那么生成工作正常,但它会将我的所有类放入一个名为“jeff test.namespaceA”的包中,用于namespaceA
只需删除namespaceA
的一个条目即可。将两者都删除背后的逻辑是什么
<jxb:bindings schemaLocation="xsd1-namespaceA.xsd">
<jxb:schemaBindings>
<jxb:package name="com.xsdPrimary" />
</jxb:schemaBindings>
</jxb:bindings>
<jxb:bindings schemaLocation="xsd3-namespaceB.xsd">
<jxb:schemaBindings>
<jxb:package name="com.xsdSecondary" />
</jxb:schemaBindings>
</jxb:bindings>
schemaBindings
被视为每个命名空间一次,它绑定到哪个架构文件并不重要(只要该文件是编译的一部分)。逻辑上,这只是为了证明它可以在单个包中生成相同命名空间的类。(我将更新我的问题)逻辑,这只是为了证明在单个包中生成相同名称空间的类是可能的。(我将更新我的问题)