Closed binchoo closed 3 years ago
챕터4의 예제 코드중 boot-web의 구성을 수정한다고 가정합니다.
spring-boot-stater-tomcat
의존성 제거boot-web> build.gradle
> dependencies
클로져> 톰캣 의존성 제거를 추가합니다.
dependencies {
...
compile(boot.starterWeb) {
exclude module: "spring-boot-starter-tomcat"
}
...
}
spring-boot-starter-jetty
의존성 추가dependencies {
...
compile(boot.starterWeb) {
exclude module: "spring-boot-starter-tomcat"
}
compile "org.springframework.boot:spring-boot-starter-jetty:$bootVersion"
}
최상위 build.gradle
> boot 리스트에 starterJetty
라는 엔트리를 추가했을 경우
boot = [
...
starterJetty : "org.springframework.boot:spring-boot-starter-jetty:$bootVersion"
]
boot-web> build.gradle
> dependencies
클로져
dependencies {
compile boot.actuator
compile(boot.starterWeb) {
exclude module: "spring-boot-starter-tomcat"
}
compile boot.starterJetty
}
이후 Jetty 사용을 확인할 수 있었습니다.
의존 모듈 제외 시키기 - https://stackoverflow.com/a/42818588 Tomcat 대신 Jetty 사용 설정하기 - https://blog.leocat.kr/notes/2017/10/09/spring-boot-use-jetty-instead-of-tomcat
개발자의 UX 측면에서, 스프링이 사용할 서블릿 컨테이너를 설정하려면 우리가 할 일은 tomcat이나 jetty등의 의존성을 설치하는 것 뿐입니다.
보통의 라이브러리 사용 과정은 이럴 텐데요.
하지만, 스프링 부트는 의존성을 스스로 가져다 쓰고 있는데, 그 원리가 궁금합니다.
jetty와 tomcat은 어떠한 차이가 있는지, 그리고 둘 다 Servlet
기반 컨테이너인데, 이것이 Servlet
과는 어떠한 관계성을 가지고
어떠한 도움을 주는지 궁금합니다.
질문
Tomcat 대신 jetty를 사용하도록 설정하는 방법
상세 내용
임베디드 톰캣에서 앱을 실행하지 않고, 제티를 사용한다면
spring-boot-starter-web
의존성에 이미 포함된spring-boot-starter-tomcat
의존성을 제외하고jetty
의존성을 추가하면 된다고 합니다.구체적인 방법은 설명되지 않아서 실제 설정 과정이 궁금합니다.
연관 챕터
29
챕터 4.15 예제 4-105 설명 마지막 문단
참고
cc. @caffeine-library/readers-pro-spring-5