exec-maven-plugin не может запустить команду "mvn" на компьютере с Windows
У меня есть проект Spring Boot 2, который является API ReST, и я использую Spring Rest.
Я использую 2 плагина для генерации SDK других проектов для импорта для вызова моего API. Первый плагин com.github.kongchen:swagger-maven-plugin:3.17
генерировать файл swagger-codegen-spec, а второй org.openapitools:openapi-generator-maven-plugin:3.2.3
затем генерировать фактические файлы SDK как другой проект mvn.
Наконец, у меня есть автоматические тесты компонентов, которые используют этот SDK для запуска тестов на работающем API.
Моя цель - на самом деле СОСТАВИТЬ SDK как часть первоначальной сборки проекта. Поэтому, когда я запускаю "mvn install" в my-api-project, я получаю jar веб-приложения И sdk jar, когда он завершен, без необходимости запускать "mvn install" на SDK в качестве дополнительного шага.
Я успешно выполнил это на Linux/Mac двумя различными способами. Сначала было использовать плагин antrun. Тем не менее, это не сработало на моем коллеге Windows 10, 64-битной машине. У него было много проблем, связанных с недопустимыми каталогами, неустановленной оболочкой и т. Д.
Поэтому я попытался использовать вместо этого exec-maven-plugin, который кажется более чистым и более независимым от ОС. Опять же, это прекрасно работает в Linux/Max, но в Windows, теперь мы получаем эту ошибку:
Не удалось выполнить цель org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (сборка источников кода swagger-codegen) для проекта my-api: сбой выполнения команды. Невозможно запустить программу "C:\Program Files\Apache\maven\bin\mvn" (в каталоге"C:\Users\user1\Documents\GitHub\my-project\my-java-sdk"): ошибка CreateProcess =193, %1 не является допустимым приложением Win32 -> [ Помощь 1]
Когда он использует окно cmd, он может просто запустить mvn install в этом каталоге.
Есть идеи??
1 ответ
Эта ошибка была исправлена путем обновления версии exec-maven-plugin до последней версии. Spring Boot поставлял версию, которая была 1.5.0, но последняя - 1.6.0.