JAXB: генерировать Javadoc из файла привязки - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть проект maven с моей папкой src/main/java и папкой src/main/resources.Под ресурсами я разместил свой xsd-файл и следующий jxb-файл.План состоит в том, чтобы создавать комментарии javadoc на основе файла привязки, когда я запускаю maven generate-sources вместе с целью xjc для генерации самих классов.Классы созданы успешно, но задокументированы с содержимым тегов документации внутри файла xsd (который мне не нужен, я хочу комментарии javadoc из файла jxb).

Это файл jxb:

<jxb:bindings version="1.0" xmlns:jxb="https://java.sun.com/xml/ns/jaxb" xmlns:xsd="https://www.w3.org/2001/XMLSchema" ?>
    <jxb:bindings schemaLocation="mySchema.xsd" node="//xsd:schema">
        <jxb:bindings node="//xsd:complexType[@name='MyType']">
            <jxb:class name="MyType">
                <jxb:javadoc>MY DOCS</jxb:javadoc>
            </jxb:class>
        </jxb:bindings>
    </jxb:bindings>
</jxb:bindings>

Там нет никакой ошибки, но классы генерируются так, как будто файла привязки там не было.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Наконец-то я нашел решение.Помимо небольшой ошибки в самом файле (мне пришлось использовать http вместо http s для пространств имен), настоящей проблемой было расширение файла.Плагин jaxb maven ищет файлы xjb, у меня было расширение jxb.

0 голосов
/ 24 сентября 2018

См. Настройка привязок JAXB .

Тег <javadoc> должен находиться внутри тега <package>, <class>, <property>, <typesafeEnumClass> или <typesafeEnumMember>.

Пример из связанного документа (встроенное обязательное объявление):

<xsd:complexType name="PurchaseOrderType">
   <xsd:annotation>
      <xsd:appinfo>
         <jxb:class name="POType">
            <jxb:javadoc>
            A &lt;b>Purchase Order&lt;/b> consists of 
addresses and items.
            </jxb:javadoc>
         </jxb:class>
      </xsd:appinfo>
   </xsd:annotation>
   .
   .
   .
</xsd:complexType> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...