четверг, 6 февраля 2014 г.

Генерация JAXB-классов по xsd или xml

Иногда случаются ситуации, когда необходимо написать JAXB-классы для xml, а если повезло, то по xsd.
Есть, конечно, плагины для Eclipse и наверняка много других способов, но на мой взгляд проще всего поступить так.

1. Генерация JAXB из xml

Если в наличие есть только  xml, то придется сначала получить из него xsd. Это можно сделать вручную, конечно (особенно если файл не очень сложный), но быстрее файл схемы также сгенерировать. Неплохой онлайн-инструмент для генерации xsd  по  xml находится здесь:  http://www.freeformatter.com/xsd-generator.html

Хотя иногда он ошибается, так что лучше проконтролировать, что схема получилась полной.

Получив, наконец, с помощью этого или любого другого инструмента xsd идем и выполняем действия, описанные в пункте 2

2. Генерация JAXB из xsd

Берем свой  xsd  файл (например, он называется  xsd.xsd ) и идем в директорию, куда установлена  Java. Примерно сюда: C:\Program Files\Java\jdk1.7.0_40\bin

Открываем там командную строку (например, зажимая шифт кликаем правой кнопкой и в открывшемся меню нажимаем что-нибудь похожее на Open command window here).

Далее выполняем несложную команду > xjc.exe xsd.xsd

В случае успеха в консоли увидим, что парсинг схемы и генерация классов прошли успешно.

 
Идем в директорию и забираем получившиеся файлы себе в проект. 

Ну и да, скорее всего, если вы попали на эту статью, то знаете, что такое JAXB, зачем он нужен и как его использовать. Но если вдруг что-то позабылось, то освежить память можно здесь:

Комментариев нет:

Отправить комментарий