Проблема с плагином Annox в Jaxb
Я боролся с этой проблемой уже некоторое время. Я пытался добавить аннотации к заглушкам 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>
1 ответ
Проблема в том, что в вашем пути к классам отсутствуют некоторые банки. Та же проблема возникла в проекте maven, посмотрите на их разрешение и попробуйте добавить эти classpath в вашу сборку ANT: