본문 바로가기
개발/spring, spring boot

[Spring Boot] Undertow 사용하기 (maven, gradle 3.x)

by 가시죠 2021. 1. 17.
반응형

STS 프로젝트 생성 시 Spring Web을 선택하면 was 내장tomcat이 기본으로 설정된다.

WAS를 Undertow로 바꾸려면 빌드툴에 따라 설정파일(pom.xml 또는 build.gradle)을 변경해주면 된다.

Undertow
NIO를 기반으로 하는 고성능 웹서버
전반적으로 성능이 우수하고 메모리 사용이 효율적이다. 
(Spring Boot Servlet Container)

 

빌드툴에 따른 설정 방법

1. maven일 경우 pom.xml 파일 수정

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
        <!-- START : 종속성 제외 추가-->
		<exclusions>
			<exclusion>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-tomcat</artifactId>
			</exclusion>
		</exclusions>
        <!-- END : 종속성 제외 추가-->
	</dependency>

	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<optional>true</optional>
	</dependency>
<!-- 기존 tomcat 주석처리 - 없다면 무시 -->
<!-- 	<dependency> -->
<!-- 		<groupId>org.springframework.boot</groupId> -->
<!-- 		<artifactId>spring-boot-starter-tomcat</artifactId> -->
<!-- 		<scope>provided</scope> -->
<!-- 	</dependency> -->

<!-- undertow 추가-->
	<dependency>
		<groupId>org.springframework.boot</groupId>
	    <artifactId>spring-boot-starter-undertow</artifactId>
	</dependency>
		
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

 

2. gradle 3.x 일 경우 build.gradle 수정

...
dependencies {
	implementation ('org.springframework.boot:spring-boot-starter-web') {
		// 종속성 제외 추가
		exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
	}
	testImplementation('org.springframework.boot:spring-boot-starter-test') {
		exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
	}
	
	// undertow 추가
	implementation 'org.springframework.boot:spring-boot-starter-undertow'
		
}
...
반응형

댓글