Что такое файл .episode ..?

Что такое файл .episode в JAXB ..? Является ли это сгенерированным JAXB или это файл конфигурации, с которым мы будем манипулировать, чтобы избежать регенерации одних и тех же classов JAXB ..?

Примечание. Я – лидер EclipseLink JAXB (MOXy) и член экспертной группы JAXB 2 (JSR-222) .

Файл .episode генерируется компилятором XJC (XML Schema to Java). Это привязки схем, которые связывают типы схем с существующими classами. Это полезно, когда у вас есть одна XML-схема, которая импортируется другими схемами, поскольку она препятствует регенерации модели. Ниже приведен пример:

Product.xsd

           

Поскольку несколько XML-схем импортируют Product.xsd, мы можем использовать файлы эпизодов, чтобы classы, соответствующие Product.xsd, генерировались только один раз.

 xjc -d out -episode product.episode Product.xsd 

ProductPurchaseRequest.xsd

Ниже приведен пример XML-схемы, которая импортирует Product.xsd:

            пространство            

Когда мы генерируем classы из этой XML-схемы, мы будем ссылаться на файл эпизода, который мы создали, когда мы сгенерировали classы Java из Product.xsd.

 xjc -d out ProductPurchaseRequest.xsd -extension -b product.episode 

ProductQuoteRequest.xsd

Ниже приведен еще один пример XML-схемы, которая импортирует Product.xsd:

            пространство            

Опять же, когда мы генерируем classы из этой XML-схемы, мы будем ссылаться на файл эпизода, который мы создали, когда мы сгенерировали classы Java из Product.xsd.

 xjc -d out ProductQuoteRequest.xsd -extension -b product.episode 

Чтобы получить больше информации

Я добавлю некоторые мелочи.

  • На самом деле, файлы .episode – это просто обычные файлы привязки (поэтому они работают с xjc -b ).
  • Они могут быть созданы с помощью специального встроенного плагина (это то, что делает -episode ).
  • Если он помещен в JAR по пути META-INF/sun-jaxb.episode , вы можете выполнить xjc b.xsd a.jar – XJC будет сканировать JAR для эпизодических файлов, а затем использовать файлы привязки автоматически.
  • Вся эта красота отлично работает с Maven ( maven-jaxb2-plugin ). Однако с более поздней версией вы можете использовать файлы привязки из артефактов JAR даже без эпизодов.

По-видимому, они предназначены для создания модульной схемы .

Это означает, что сами файлы могут использоваться как в качестве конфигуратора, так и в качестве генеративного представления уровня данных для последующей обработки. Для определения того, о чем здесь говорится, потребуется больше контекста.

Просто добавление к ответу, я хотел бы предоставить информацию о том, как избежать создания файла .episode при использовании maven-jaxb2-plugin

  ` org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 0.12.3   schema-conversion  generate   src/main/schema/myschema src/main/schema/myschema  binding_info.xjb  src/main/java/ false    ` 

false заставит его исчезнуть.

  • Как передать массив JSON в качестве параметра в URL-адресе
  • Исключение JAXB: class, не известный этому контексту
  • Конфигурация клиента для использования веб-службы WCF JSON
  • В модели веб-программирования WCF можно написать рабочий контракт с массивом параметров строки запроса (то есть с тем же именем)?
  • Как получить доступ к параметрам в методе POST RESTful
  • Клиент службы WCF: текст типа контента / html; charset = utf-8 ответного сообщения не соответствует типу содержимого привязки
  • Изменение префикса пространства имен XML по умолчанию, сгенерированного JAXWS
  • Как использовать Джерси как реализацию JAX-RS без web.xml?
  • JAX-WS = Когда Apache CXF установлен, он «крадет» стандартную реализацию JDK JAX-WS по умолчанию, как ее решить?
  • JAX-WS - Карта Исключения к ошибкам
  • Создание прокси-сервера веб-службы в Visual Studio из файла WSDL
  • Давайте будем гением компьютера.