Пользовательский генератор OpenAPI с плагином Maven завершается с ошибкой ClassNotFoundException - PullRequest
1 голос
/ 30 сентября 2019

Я пытаюсь написать собственный генератор OpenAPI, как упоминалось в openapi-generator на GitHub . Сгенерировал codegen с помощью команды ниже.

java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar meta \
  -o out/generators/my-codegen -n my-codegen -p com.my.company.codegen

В проекте я расширил MyCodegenGenerator с JavaJAXRSCXFCDIServerCodegen и добавил необходимые шаблоны усов. Когда я попытался построить новый проект codegen, тесты не прошли. Поэтому я пропустил тесты и построил проект. Затем я перешел к следующим шагам в руководстве, чтобы использовать пользовательский кодоген с плагином Maven. Как упоминалось в руководстве, я использовал my-codegen в качестве generatorName:

<generatorName>my-codegen</generatorName>

Я получаю ошибку ниже:

org.openapitools.codegen.GeneratorNotFoundException:
    Can't load config class with name 'my-codegen'

Tried com.my.company.codegen.MyCodegenGenerator, а также generatorName и по-прежнему появляется аналогичная ошибка.

Пожалуйста, помогите мне решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 02 октября 2019

Вам не нужно изменять pom.xml. Просто проверьте, что в вашем классе * Generator переопределенный метод getName () возвращает ту же строку, что и при вызове метода .setGeneratorName (..) в вашем тестовом классе.

Также необходимо проверить, что путьat .setInputSpec (..) указывает на действительный файл yaml, который не является стандартным.

0 голосов
/ 02 октября 2019

Мне удалось найти причину проблемы. Я добавил приведенную ниже зависимость в раздел зависимостей сборки.

<dependency>
  <groupId>org.openapitools</groupId>
  <artifactId>my-codegen-openapi-generator</artifactId>
  <version>1.0.0</version>
</dependency>

После добавления зависимости в раздел зависимостей конфигурации плагина я смог решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...