Упаковка приложения Spring Boot Camunda BPM в jar-файл

У меня возникла проблема с выполнением jar-файла, собранного в IntelliJ (v. 2020.3):

Oracle JDK 15.0.1 / Spring Boot 2.4.1
08:02:57.544 [main] ERROR org.springframework.boot.SpringApplication - Application run failed org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

Open JDK 11 / Spring Boot 2.4.2
ERROR org.springframework.boot.SpringApplication - Application run failed java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.

При этом запуск приложения из IntelliJ происходил нормально.

Проект создавался по материалам обучающего видео Мстислава Мартынюка: REUNICO | Лаборатория цифровой трансформации. Сертифицированный партнер Camunda: Camunda для разработчика - Часть 4


Комментарии Мстислава Мартынюка:
Касательно Вашей проблемы. Выглядит так, будто не удается запустить встроенный в Spring Boot сервер приложений Tomcat (возможно проблема в отсутствующих зависимостях или несовместимых версиях библиотек).

Проверьте:

  1. Каким образом формировали проект? Через http://start.camunda.com или Spring Boot Initialzr?

  2. Совпадают ли версии Camunda и Spring Boot. (На сайте Camunda есть страничка, описывающая совместимые версии Spring Boot и Camunda)

  3. Проверьте, установлена ли аннотация @SpringBootApplication на main-классе.


  1. Проект создавал через Spring Boot Initializr
  2. Зависимости загружались для Camunda 7.14.0 (для нее как выяснилось нужно использовать Spring Boot 2.3.x.RELEASE: Spring Boot Version Compatibility | docs.camunda.org)
  3. Аннотация автоконфигурации и создания компонентов с внедрением зависимостей была установлена.
    Также был подключен плагин spring-boot-maven-plugin в pom.xml
    Настройки артефактов для jar-файла в структуре проекта в IntelliJ оставил по умолчанию.

Причина ошибки пока непонятна (тестировать с Spring Boot 2.3 не пробовал, т.к. на момент написания этого поста проблему уже решил, см. ниже). Судя по темам на форумах ошибка распространенная, при этом не одно из решений мне не помогло:

РЕШЕНИЕ:
Сборку jar-файла сделал с помощью Maven на прямую, т.е. через командную строку: mvn package
при этом использовал apache-maven-3.6.3

1 симпатия

Проблема решена…

1 симпатия