Каталог статей
Разверните военный пакет во внешнем контейнере tomcat
1. Измените метод упаковки
<packaging>war</packaging>
Добавьте приведенный выше код в начало файла pom.xml следующим образом:
2. Исключите встроенные зависимости tomcat
Мы используем внешний кот и, естественно, исключаем связанные с ним банки встроенного кота.
<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>
3. Добавьте новый класс для наследования SpringBootServletInitializer для реализации конфигурации:
Зачем наследовать этот класс, комментарий к исходному коду SpringBootServletInitializer:
Обратите внимание, что WebApplicationInitializer необходим только в том случае, если вы создаете файл войны и развертываете его.
Если вы предпочитаете запускать встроенный веб-сервер, вам это вообще не понадобится.
Обратите внимание, что если вы создаете файл WAR и развертываете его, требуется WebApplicationInitializer. Если вам нравится запускать встроенный веб-сервер, то вам это вообще не нужно.
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
//此处的Application.class为带有@SpringBootApplication注解的启动类
return builder.sources(BootLaunchApplication.class);
}
}
Примечание.
При использовании внешнего Tomcat для развертывания и доступа следующая конфигурация в application.properties (или application.yml) будет недействительной. Для доступа используйте внешний порт tomcat и имя проекта в веб-приложениях tomcat.
server.port=
server.servlet.context-path=
4. Сборка должна иметь тег finalName
Сегмент кода сборки в pom.xml должен иметь имя окончательного пакета сборки приложения.
<finalName>boot-launch</finalName>
5. Упаковка и запуск
Военный пакет упакован, и упакованный результат будет сохранен в целевом каталоге проекта.
mvn clean package -Dmaven.test.skip=true
Затем скопируйте военный пакет во внешний каталог веб-приложений Tomcat. Запуск во внешнем Tomcat: запустите файл startup.bat (Windows) или startup.sh (Linux) в каталоге ${Tomcat_home}/bin/, а затем войдите в приложение через браузер, чтобы проверить эффект.
должен быть в курсе
- Разархивируйте boot-launch.war из каталога tomcat webapps в папку boot-launch. Поэтому при доступе к приложению вы должны использовать
http://localhost:8888/boot-launch/template/jsp
, а не:http://localhost:8888/template/jsp
. Будет сообщено об ошибке 404. - Ссылка на статический ресурс jsp также должна быть: /boot-launch/image/xxxx.png, а не /image/xxxx.png.
- В военном пакете JSP использование ресурсов веб-баннерами больше не поддерживается.