Автоконфигурация исключена, но встроенный контейнер сервлета все еще используется - PullRequest
0 голосов
/ 21 июня 2019

Я выполнил все шаги, упомянутые в документации, чтобы включить традиционное развертывание войны для приложения весенней загрузки, т.е. исключил EmbeddedServletContainerAutoConfiguration из @EnableAutoConfiguration, и у меня есть только один такой экземпляр. Также расширен SpringBootServletInitializer и убедитесь, что упакованная война не имеет никакой зависимости от стартера tomcat. Также запустил весенний загрузочный отчет и подтвердил, что EmbeddedServletContainerAutoConfiguration находится в списке исключений.

Помимо всех изменений, когда я развернул войну, он все еще создает контекст встроенного приложения со встроенным контроллером сервлетов.

Что я пропустил и какие еще области я могу проверить? Spring boot version 1.5.13.

1 Ответ

2 голосов
/ 21 июня 2019

>

Привет Veeram ,

Нам не нужно исключать AutoConfiguration-classes, но необходимо исключить зависимость tomcat.

Вам нужно сделать, это опустить tomcat starter зависимость от pom.xml.Он извлекается из spring-boot-starter-web как транзитивная зависимость.Итак, вам нужно добавить исключение для него:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

Теперь, когда вы используете <packaging>war</packaging> и SpringBootServletInitializer, нам потребуется servlet-api зависимость от пути к классам.

Итак, добавьте зависимость сервлета к вашему pom.xml

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
            <scope>provided</scope>
        </dependency>

Надеюсь, это поможет!

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