티스토리 뷰

이번장에는 Spring Boot 애플리케이션을 jar가 아닌 war로 배포하는법에 대해 알아보자. Spring Boot는 Embedded Tomcat이 내장되어 있어 jar로 배포가 가능하지만 프로젝트 환경상 외부 Tomcat을 이용해 배포해야할 경우가 있다.

 

외부 Tomcat을 이용하여 Tomcat Probe Manager로 배포를 해볼 예정인데 Tomcat Probe Manager란

Tomcat의 상태를 모니터링할 수 있는건데 현재 몇개의 쓰레드가 가동중이며 JVM 메모리를 얼마나 사용하는지에 대한 정보를 볼 수 있는데 자세한건 아래에서 설명하겠다.

SpringBootServletInitializer 클래스 상속

먼저 SpringBootServletInitializer 라는 추상클래스를 상속받는다. 이 클래스를 상속받는 이유는

Spring 웹 애플리케이션을 동작하기 위해서는 web.xml에 애플리케이션 컨텍스트를 등록해야되는데 Tomcat이 구동되면 web.xml에 설정된 값들을 읽어드려 애플리케이션을 구성하기 때문이다

 

Servlet 스펙 3.0부터는 web.xml이 없이도 동작이 가능하다. 이유는

web.xml의 설정을 WebApplicationInitializer 라는 인터페이스가 동작할 수 있게 구성이 되었고 ServletContext에 Spring IoC Container를 생성할 수 있기 때문이다.

 

web.xml이 없는 Spring Boot에서는 WebApplicationInitializer 인터페이스를 구현한 SpringBootServletInitializer 클래스가 있기때문에 상속을 받아야 한다.

pom.xml 설정변경 및 의존성 추가

<packaging>war</packaging>

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-tomcat</artifactId> 
    <scope>provided</scope> 
</dependency>

pacaking을 war로 변경해주고 아래의 의존성을 추가해준다. 그러면 프로젝트에서 건드릴건 다 끝났다.

프로젝트 폴더에 빨간경고가 보이게되면 Maven Update를 진행하자. 그러면 Web Deployment 관련파일이 생길것이다

Tomcat 설치

여기를 눌러 Tomcat을 설치해보자 Embedded Tomcat과 같은버전이라 9.0을 선택했다.

install 파일만 일단 받아두자 설치과정에 Probe Manager관련 설정해줄것이 있다.

Tomcat Probe Manager

여기를 눌러 probe.war를 다운받자

Tomcat Probe Manager 아이디 / 비번등록

설치과정중에 빨간색 네모박스안에 아이디와 비밀번호를 입력하자 Tomcat Manager의 로그인정보이다.

probe.war 배포

localhost:8080/manager/html로 접근하여 probe.war파일을 배포하자

probe 메인홈

localhost:8080/probe로 접근하면 로그인창이 나오는데 아까 Tomcat 설치과정중에 입력했던 정보이다. 정보를 입력하게되면 위와같은 화면이 보이면 정상적으로 진행이 된것이다.



Memory 사용현황, 현재 Thread 상황, war배포, log확인 등 다양한걸 확인할 수 있다.

war 빌드

프로젝트 우클릭 > Run As > Maven build... 을 클릭하고 build를 진행하자. 만일 TestClass를 찾지못해서 빌드가 안된다면 위 사진의 체크박스를 클릭하고 빌드하자



빌드가 정상적으로 완료되었다.

war 배포

probe로 접속후 deployment 탭을 클릭후 war파일을 올린다. 그리고 현재 프로젝트에 설정된 context path에 맞게 값을 넣자



위 체크박스같은경우 현재 상황에 맞게 체크하자. 필자같은경우는 JSP는 따로 세팅을 안했기에 2개만 체크했다. 그리고 우측에 deploy 버튼을 눌러 배포하자



정상적으로 배포가 완료되었다.

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함