Я все еще довольно новичок в Maven и не уверен в правильности ролей различных компонентов.
Я использовал следующую структуру проекта Maven для разработки микросервисов:
service-parent
+-- rest-service-module
+-- frontend-js-module
+-- ...
Определение сервиса выполняется с использованием Swagger, а файл yaml хранится в родительском проекте.
Теперь я хотел бы настроить сайт, который должен включать документацию и отчеты.Мне кажется логичным хранить сайт в родительском и собирать Javadocs, верные отчеты и т. Д. Из дочерних модулей.Например, я добавил swagger2markup-maven-plugin
к родительскому pom, чтобы сгенерировать документацию из swamger yaml.
Первая проблема, с которой я столкнулся, заключается в том, что родительский pom выполняет swagger2markup-maven-plugin
и генерирует HTML.Тем не менее, он выполняет ту же цель для дочерних модулей и завершается неудачей.
Кажется, что я не понимаю роли родительских и дочерних poms, что приводит к этой проблеме.Документация Swagger должна быть сгенерирована только один раз - не из каждого дочернего модуля - поэтому родительский вариант кажется очевидным выбором.
Так почему плагин в родительском элементе выполняется для каждого ребенка и как я могу предотвратить это?Я все еще на начальной стадии проекта, поэтому я могу при необходимости реорганизовать структуру модуля.
Я пробовал решение, предложенное в https://stackoverflow.com/a/14653088/11249, но не смог заставить его работать ная.