ApplicationContextException: невозможно запустить ServletWebServerApplicationContext из-за отсутствия компонента ServletWebServerFactory - PullRequest
0 голосов
/ 08 мая 2018

Я написал весеннее пакетное приложение, используя Spring boot. Когда я пытаюсь запустить это приложение с помощью командной строки и classpath в моей локальной системе, оно работает нормально. Тем не менее, когда я пытался запустить его на сервере Linux, он дает мне следующее исключение

Unable to start web server; nested exception is
org.springframework.context.ApplicationContextException: 
Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

Вот способ, которым я управляю:

java -cp jarFileName.jar; lib\* -Dlogging.level.org.springframework=DEBUG -Dspring.profiles.active=dev -Dspring.batch.job.names=abcBatchJob com.aa.bb.StartSpringBatch > somelogs.log

Ответы [ 7 ]

0 голосов
/ 23 февраля 2019

Я столкнулся с этой проблемой при попытке запустить мое веб-приложение в виде толстой банки , а не изнутри моей IDE (IntelliJ).

Это то, что сработало для меня. Просто добавьте профиль по умолчанию в файл application.properties .

spring.profiles.active=default

Вам не нужно использовать значение по умолчанию, если вы уже настроили другие конкретные профили (dev / test / prod). Но если у вас его нет, необходимо запустить приложение в виде полной банки.

0 голосов
/ 26 июня 2019

Класс аннотации с 'public static void main', например: @ SpringBootApplication

0 голосов
/ 07 февраля 2019

Возможно, вы пропустили @SpringBootApplication в своем классе начальной загрузки.

@SpringBootApplication
public class LoginSecurityAppApplication {

    public static void main(String[] args) {
        SpringApplication.run(LoginSecurityAppApplication.class, args);
    }

}
0 голосов
/ 02 января 2019

У меня была эта проблема при переходе на Spring Boot. Я нашел совет по удалению зависимостей , и это помогло. Итак, я удалил зависимость для jsp-api Проект имел. Также необходимо удалить зависимость servlet-api .

compileOnly group: 'javax.servlet.jsp', name: 'jsp-api', version: '2.2' 
0 голосов
/ 13 июня 2018

Обновление spring-boot-starter-parent в pom.xml до последней версии исправило это для меня.

0 голосов
/ 09 мая 2018

Решение:

Я явно установил для свойства ниже значение none в application.yml файле.

spring:
  main:
    web-application-type: none
0 голосов
/ 08 мая 2018

Для не веб-приложений отключите web application type в файле свойств:

В application.properties:

spring.main.web-application-type=none

Если вы используете application.yml, то добавьте:

  spring:
    main:
      web-application-type: none

Для веб-приложений: *SpringBootServletInitializer* в основном классе.

@SpringBootApplication
public class YourAppliationName extends SpringBootServletInitializer{
    public static void main(String[] args) {
        SpringApplication.run(YourAppliationName.class, args);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...