gpt4 book ai didi

java - XJC外部绑定(bind)文件总是失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:22 37 4
gpt4 key购买 nike

(请参阅下面有关此问题起源的更新)

尝试使用任何类型的外部绑定(bind)文件运行 xjc 时遇到任何问题。这是我尝试使用的绑定(bind)文件的副本:

<jxb:bindings 
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:pd="http://chubb.com/cpi/polsvc/xmlobj"
jxb:extensionBindingPrefixes="xjc"
version="2.1">

<jxb:bindings schemaLocation="your-schema.xsd">
<jxb:bindings node="//xs:complexType[@name='AddBankVaultRplyType']">
</jxb:bindings>
</jxb:bindings>

我知道它什么都不做,只是想运行一个简单的示例。我正在运行以下命令:

xjc -extension -b src/main/resources/bindings/cXML.xjb -dtd -d tmp src/main/resources/dtds/cXML.dtd -verbose

并且出现以下错误:

parsing a schema...
[ERROR] Unsupported binding namespace "http://java.sun.com/xml/ns/jaxb". Perhaps you meant "http://java.sun.com/xml/ns/jaxb/xjc"?
line 7 of file:/Users/nick/Development/wuxi/services/punchout/src/main/resources/bindings/cXML.xjb

[ERROR] cvc-elt.1: Cannot find the declaration of element 'jxb:bindings'.
line 7 of file:/Users/nick/Development/wuxi/services/punchout/src/main/resources/bindings/cXML.xjb

[ERROR] Unsupported binding namespace "http://java.sun.com/xml/ns/jaxb". Perhaps you meant "http://java.sun.com/xml/ns/jaxb/xjc"?
line 8 of file:/Users/nick/Development/wuxi/services/punchout/src/main/resources/bindings/cXML.xjb

[ERROR] Unsupported binding namespace "http://java.sun.com/xml/ns/jaxb". Perhaps you meant "http://java.sun.com/xml/ns/jaxb/xjc"?
line 9 of file:/Users/nick/Development/wuxi/services/punchout/src/main/resources/bindings/cXML.xjb

Failed to parse a schema.

无论我在 jaxb 项目的绑定(bind)文件中放入什么,它总是使用 也许你的意思是“http://java.sun.com/xml/ns/jaxb/xjc” 类型错误信息。

我是不是漏掉了什么?这些似乎应该非常简单明了,我不知道为什么它给我带来了问题。

XJC版本:

xjc -version
xjc 2.2.8-b130911.1802

谢谢!

更新

xjb 文件的最初目的是修复 DTD 的一些问题。具体命名冲突如:

[ERROR] Property "Name" is already defined. Use &lt;jaxb:property> to resolve this conflict.

最佳答案

这是因为您正在编译 DTD。这是一种非常不同的动物类型,普通绑定(bind)不适用于 DTD。

这是一个 sample project编译 DTD。 binding看起来如下:

<?xml version="1.0"?>
<xml-java-binding-schema>
<options package="org.jvnet.hyperjaxb3.hibernate.mapping"/>
<element name="hibernate-mapping" type="class"/>
<element name="class" type="class" class="Clazz">
<attribute name="subselect" property="SubselectAttribute"/>
</element>
<element name="typedef" type="class">
<attribute name="class" property="Clazz"/>
</element>
<element name="import" type="class">
<attribute name="class" property="Clazz"/>
</element>
<element name="composite-id" type="class">
<attribute name="class" property="Clazz"/>
</element>
...
</xml-java-binding-schema>

关于java - XJC外部绑定(bind)文件总是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30464161/

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