Я работаю над несколькими веб-сервисами, которые используют привязки JAXB для сообщений (в JAX-WS или spring-ws). При использовании этих привязок всегда есть некоторый код, который автоматически генерируется из WSDL для привязки объектов сообщений. Я изо всех сил пытаюсь найти наилучший способ сделать эту работу такой, чтобы с ней было легко работать, с которой было трудно справиться, и она прекрасно интегрируется с IDE (в основном с использованием eclipse).
Я думаю, что есть несколько способов сделать это. Три основных варианта, которые я вижу сейчас:
- Создание кода, сохранение исходных артефактов и проверка их в хранилище. Плюсы: легко интегрируется с IDE (подсветка исходного кода и т. Д.), Работает в системе сборки. Минусы: сгенерированный код меняется каждый раз, когда вы его регенерируете, возможно создавая шумные коммиты. Это также избыточно, поскольку файл WSDL уже зарегистрирован, как правило.
- Генерация кода как часть процесса сборки. Не храните исходные артефакты или храните их только в выходных каталогах. Плюсы: исправлены все минусы предыдущего. Минусы: сложнее интегрироваться с IDE, хотя, может быть, этот этап сборки можно запустить автоматически? В настоящее время я использую это в одном из своих проектов, но в первый раз, когда я извлекаю проект, он кажется сломанным, что является незначительным неудобством.
- Храните сгенерированные привязки в отдельных библиотеках (jar), включенных в maven или вручную обновленных jar, в зависимости от процесса сборки. Я получил идею из ветки на java.net . Это кажется более стабильным и использует явное управление версиями, но кажется немного тяжелым.
Какой из этих вариантов вы бы реализовали и как? В настоящее время мы используем maven и eclipse, поэтому любые идеи на этот счет были бы хорошими. Я думаю, что эта проблема обобщает большинство других систем сборки и комбинаций IDE, хотя, возможно, даже другие языки.