Spring

[ Springboot ] Springboot 내장 tomcat 버전

구티맨 2020. 5. 27. 12:31

Springboot 내장 Tomcat

Springboot는 기본적으로 내장된 웹서버를 사용한다.
내장된 웹서버인 Tomcat의 버전을 확인하는 방법은 2가지가 있다.

첫 번째는, 사용하고 있는 라이브러리의 의존성을 MVNRepository 에서 확인하는 것이고,

두 번째는, 프로젝트의 외부 라이브러리에 tomcat 버전을 확인하는 방법이다.

MVN Repository 확인

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
}

프로젝트에 외부 라이브러리 목록을 보면, 아래와 같이 2.1.1 라이브러리를 사용하고 있음을 알 수 있다.

 

그러면 MVNRepositry에 가서 spring-boot-starter-tomcat 2.1.1 버전의 페이지를 들어가면, Compile Dependencies 에 사용하는 웹서버의 버전이 나온다.

 

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-tomcat/2.1.1.RELEASE

spring-boot-starter-tomcat 2.1.1 에서는 tomcat 9.0.13 버전을 사용하고 있음을 알 수 있다.

외부 라이브러리 확인

프로젝트의 외부라이브러리에 보면 아래와 같이 tomcat-embed-core 의 버전이 나온다.

 

Tomcat 버전 변경

보안에 의해 내장된 Tomcat 의 버전을 변경해야 하는 경우가 종종 생기게 되는데, 변경하는 방법을 알아보겠다.

ext['tomcat.version'] = '9.0.35'

build.gradle 에 위와 같이 값을 설정해주면, 내장 tomcat 의 dependency 버전이 변경되어
아래와 같이 외부라이브러리에 tomcat 버전이 변경된 것을 확인할 수 있다.

 

 

외부 Tomcat에서는 java 명령어를 이용하여, 바로 tomcat의 버전이 확인 가능하던데, Springboot  내장 Tomcat에서는 런타임에 확인 할 수 있는 방법이 없는 것 같다. 아니면, 내가 못 찾아냈거나,,, 런타임에 명령어로 바로 확인할 수 있으면 더 좋을 것 같은데 아쉽다.