xjc обратный порядок имени пакета

Я запускаю следующую команду

java -jar "C:\Program Files\eclipse\plugins\org.jvnet.jaxbw.eclipse_1.1.0\lib\jaxb-xjc.jar" -d src  -catalog xsd\catalog.cat xsd\componentsData.xsd 

xsd\componentsData.xsd содержит следующие строки:

xmlns:txtColor="com.my.company.product.jaxb.TextColor"
xmlns="com.my.company.product.jaxb.componentsData"
targetNamespace="com.my.company.product.jaxb.componentsData"

<xsd:import
schemaLocation="TextColor.xsd"
namespace="com.my.company.product.jaxb.TextColor"/>

xsd\TextColor.xsd содержит следующее

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"
         xmlns="com.my.company.product.jaxb.TextColor"
         targetNamespace="com.my.company.product.jaxb.TextColor"
         >

это мой каталог:

<!DOCTYPE catalog
  PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
       "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">

<system
    systemId="com.my.company.product.jaxb.TextColor.TextColor.xsd"
    uri="TextColor"/>

and my files got generated in the following path - THE ORDER IS INVERTED WHY ?: componentsData.jaxb.product.company.my.com

а также

TextColor.jaxb.product.company.my.com

если я добавлю следующие файлы аргументов, которые будут сгенерированы в правильном порядке, но catalog.cat, похоже, не будет принят во внимание

-p com.my.company.product.jaxb.componentsData

person davidbobo    schedule 16.05.2012    source источник
comment
Хорошо, я получил ответ, мне нужно было использовать файл привязки. Но возможно ли это сделать с помощью плагина xjc eclipse. Я не могу опубликовать ответ сейчас, поэтому я опубликую его позже.   -  person davidbobo    schedule 16.05.2012


Ответы (1)


Мне нужно было добавить файл привязки (опция -b с xjc)

<jaxb:bindings
   xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   version="2.1">

<jaxb:bindings schemaLocation="componentsData.xsd" node="/xsd:schema">
    <jaxb:schemaBindings>
        <jaxb:package name="com.my.company.product.jaxb.componentsData"/>
    </jaxb:schemaBindings>
</jaxb:bindings>

<jaxb:bindings schemaLocation="TextColor.xsd" node="/xsd:schema">
    <jaxb:schemaBindings>
        <jaxb:package name="com.my.company.product.jaxb.TextColor"/>
    </jaxb:schemaBindings>
</jaxb:bindings>
</jaxb:bindings>

Но у меня все еще есть вопрос: я начал использовать xjc, потому что мне не удалось сделать это с eclipse, как я могу сделать это с eclipse gui

person davidbobo    schedule 17.05.2012