[SPRING] Gradle의 Spring Boot에서 Tomcat 종속성 제외
SPRINGGradle의 Spring Boot에서 Tomcat 종속성 제외
Jetty와 함께 Spring Boot를 사용하고 있으며 Gradle 빌드 파일에서 모든 Tomcat 종속성을 제외시킬 수없는 것 같습니다.
build.gradle의 관련 부분 :
compile("org.springframework.boot:spring-boot-starter") {
exclude module: "tomcat-embed-el"
}
compile("org.springframework.boot:spring-boot-starter-jetty")
compile("org.springframework.boot:spring-boot-starter-web") {
exclude module: "spring-boot-starter-tomcat"
}
그래도 gradle 의존성을 실행할 때 Tomcat의 일부가 여전히 존재하며 WebSockets에 문제가 발생합니다.
...
|
+--- org.springframework.boot:spring-boot-starter-web: -> 1.4.1.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.4.1.RELEASE (*)
| +--- org.hibernate:hibernate-validator:5.2.4.Final
| | +--- javax.validation:validation-api:1.1.0.Final
| | +--- org.jboss.logging:jboss-logging:3.2.1.Final -> 3.3.0.Final
| | \--- com.fasterxml:classmate:1.1.0 -> 1.3.1
| +--- com.fasterxml.jackson.core:jackson-databind:2.8.3
| | +--- com.fasterxml.jackson.core:jackson-annotations:2.8.0 -> 2.8.3
| | \--- com.fasterxml.jackson.core:jackson-core:2.8.3
| +--- org.springframework:spring-web:4.3.3.RELEASE
| | +--- org.springframework:spring-aop:4.3.3.RELEASE (*)
| | +--- org.springframework:spring-beans:4.3.3.RELEASE (*)
| | +--- org.springframework:spring-context:4.3.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.3.3.RELEASE
| +--- org.springframework:spring-webmvc:4.3.3.RELEASE
| | +--- org.springframework:spring-aop:4.3.3.RELEASE (*)
| | +--- org.springframework:spring-beans:4.3.3.RELEASE (*)
| | +--- org.springframework:spring-context:4.3.3.RELEASE (*)
| | +--- org.springframework:spring-core:4.3.3.RELEASE
| | +--- org.springframework:spring-expression:4.3.3.RELEASE (*)
| | \--- org.springframework:spring-web:4.3.3.RELEASE (*)
| \--- org.springframework.boot:spring-boot-starter-tomcat:1.4.1.RELEASE
| +--- org.apache.tomcat.embed:tomcat-embed-core:8.5.5
| +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.5
| \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.5.5
| \--- org.apache.tomcat.embed:tomcat-embed-core:8.5.5
...
spring-boot-starter-tomcat이 spring-boot-starter-web에서 제외되지 않은 이유는 무엇입니까?
해결법
-
==============================
1.아하, 그 이유를 찾았습니다.
아하, 그 이유를 찾았습니다.
또한 spring-boot-starter-tomcat에 의존하는 compile ( "org.springframework.boot : spring-boot-starter-websocket") 의존성을 가졌습니다. Gradle 종속성 출력은 spring-boot-starter-web이 Tomcat이 여전히 존재하는 이유라고 생각하게합니다.
다음을 추가해야했습니다.
compile("org.springframework.boot:spring-boot-starter-websocket") { exclude module: "spring-boot-starter-tomcat" }
배운 점은 무언가를 제외하고 싶을 때 모든 종속성을 다시 확인하여 모든 장소에서 제외되었는지 확인하십시오. 그리고 gradle 의존성 출력이 향상되어 오해의 소지가 줄어 듭니다 ...
-
==============================
2.나는 같은 문제가 있었으므로 spring-boot-starter-tomcat을 제외하고 tomcat-embed- * jar도 제외해야했으며 gradle 구성을 통해이 작업을 수행했습니다.
나는 같은 문제가 있었으므로 spring-boot-starter-tomcat을 제외하고 tomcat-embed- * jar도 제외해야했으며 gradle 구성을 통해이 작업을 수행했습니다.
configurations { compile.exclude module: 'spring-boot-starter-tomcat' compile.exclude group: 'org.apache.tomcat' }
from https://stackoverflow.com/questions/42275516/excluding-tomcat-dependencies-from-spring-boot-in-gradle by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] ManyToMany 단방향 관계에 대한 Spring Data JPA 사양 (0) | 2019.08.13 |
---|---|
[SPRING] 왜 스프링 jdbcTemplate batchUpdate 행마다 삽입 (0) | 2019.08.13 |
[SPRING] JPA 동시성 문제 "배치 릴리스시 여전히 JDBC 문이 포함되어 있습니다" (0) | 2019.08.13 |
[SPRING] 간단한 Spring JMS 클라이언트 확인 작동 (0) | 2019.08.13 |
[SPRING] 봄에 EnableScheduling 주석을 사용하여 런타임에 예약 된 작업을 다시 시작하는 방법은 무엇입니까? (0) | 2019.08.13 |