我一直在努力解决这个问题。我试图通过外部绑定文件向 xjc 存根添加注释,但遇到此错误。我已经搜遍了网络,但我仍然无法找到正确的解决方案。可能我错过了一些愚蠢的东西。需要一些神圣的启蒙。
这是我正在使用的绑定文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jaxb:bindings version="1.0" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:hj="http://hyperjaxb3.jvnet.org/ejb/schemas/customizations"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc hj annox"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:annox="http://annox.java.net"
xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"
xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd">
<jaxb:globalBindings localScoping="toplevel" />
<jaxb:bindings schemaLocation="abc.xsd"
node="//xs:complexType[@name='pqrRequest']">
<annox:annotate>
<annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement"
name="pqrRequest" />
</annox:annotate>
</jaxb:bindings>
</jaxb:bindings>
这是我一直看到的错误:
[ERROR] Unsupported binding namespace "http://annox.java.net". Perhaps you meant "http://java.sun.com/xml/ns/jaxb/xjc"?
顺便说一句,我正在使用 ant 脚本在我的 build.xml 中创建存根:
<target name="generateStubs" depends="cleanStubs">
<java classname="com.sun.tools.internal.xjc.XJCFacade">
<arg value="-d"/>
<arg value="${src.dir}"/>
<arg value="-p" />
<arg value="stubs"/>
<arg value="../xsd/abc.xsd" />
<arg value="-b" />
<arg value="../xsd/bindings.xml" />
<arg value="-extension" />
</java>
</target>