Создать развертываемый файл войны
[...]
Первым шагом в создании развертываемого файла войны является предоставление подкласса SpringBootServletInitializer
и переопределение его метода configure
.Это позволяет использовать поддержку Servlet 3.0 в Spring Framework и позволяет настраивать приложение, когда оно запускается контейнером сервлета.Как правило, вы должны обновить основной класс вашего приложения, чтобы расширить SpringBootServletInitializer
, как показано в следующем примере:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
Следующим шагом является обновление конфигурации сборки таким образом, чтобы ваш проект генерировал файл war, а нефлягаЕсли вы используете Maven и spring-boot-starter-parent
(который настраивает военный плагин Maven для вас), все, что вам нужно сделать, это изменить pom.xml
, чтобы изменить упаковку на war, следующим образом:
<packaging>war</packaging>
[...]
Последний шаг в этом процессе - убедиться, что встроенный контейнер сервлета не мешает сервлет-контейнеру, в котором развернут файл войны.Для этого необходимо пометить зависимость встроенного контейнера сервлета как предоставленную.
Если вы используете Maven, в следующем примере помечается контейнер сервлета (в данном случае Tomcat):
<dependencies>
<!-- … -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- … -->
</dependencies>