gpt4 book ai didi

java - 自定义解决JAXB "name collision in the ObjectFactory class"问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:59 25 4
gpt4 key购买 nike

these xsd files 上执行“xjc”命令返回 Two declarations cause a collision in the ObjectFactory class因为有 2 个元素名为“Scale”和“scale”。

根据 this page ,可以通过使用 <factoryMethod> 自定义 xsd 文件来解决此问题。 .

你知道怎么做吗?你有绑定(bind)文件的例子吗?

最佳答案

您可以使用绑定(bind)标签。将 schemaLocation 属性设置为特定 xsd 的位置。子标记、schemaBindings 和包,然后为该 xsd 定义一个新的包 namespace 。下面是我刚才使用 xjc 的绑定(bind)文件。如果它仍然有效,那就太好了。如果不是,示例 =)。

<?xml version="1.0" ?>
<bindings xmlns="http://java.sun.com/xml/ns/jaxb" version="2.1"
xmlns:kml="http://www.opengis.net/kml/2.2"
xmlns:atom="http://www.w3.org/2005/Atom">

<bindings schemaLocation="ogckml22.xsd">
<schemaBindings>
<package name="net.opengis.kml"/>
</schemaBindings>
</bindings>
<bindings schemaLocation="kml22gx.xsd">
<schemaBindings>
<package name="net.opengis.kml.ex"/>
</schemaBindings>
</bindings>
<bindings schemaLocation="atom-author-link.xsd">
<schemaBindings>
<package name="org.w3c.atom"/>
</schemaBindings>
</bindings>
<bindings schemaLocation="xAL.xsd">
<schemaBindings>
<package name="org.oasis.xal"/>
</schemaBindings>
</bindings>
<bindings scd="kml:scale">
<class name="scaleliteral"/>
</bindings>
<bindings scd="kml:snippet">
<class name="snippetliteral"/>
</bindings>
<bindings scd="kml:Snippet">
<property name="snippetDeprecated"/>
</bindings>
<bindings scd="atom:link">
<property name="atomLink"/>
</bindings>
</bindings>

关于java - 自定义解决JAXB "name collision in the ObjectFactory class"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7437891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com