在Spring文档中,有一节在Gradle中使用Tomcat7.x或8.0非常适合Maven,如一些spring引导示例所示,但不幸的是,对于Gradle来说并非如此。
是否有一个比排除所有tomcat依赖关系的tomcat并将它们单独添加到另一个版本更容易的解决方案?
要复制:如果您将示例项目spring-boot-sample 80-ssl转换为具有以下依赖项的Gradle项目:
dependencies {
compile("org.springframework.boot:spring-boot-starter:1.4.2.RELEASE")
compile("org.springframework.boot:spring-boot-starter-tomcat:1.4.2.RELEASE")
compile("org.springframework:spring-webmvc:4.3.4.RELEASE")
compile("org.apache.httpcomponents:httpclient:4.5.2")
compile("org.apache.tomcat:tomcat-juli:8.0.36")
compile("org.yaml:snakeyaml:1.17")
testCompile 'org.springframework.boot:spring-boot-starter-test:1.4.2.RELEASE'
}gradlew dependencies的输出如下所示:
compile - Dependencies for source set 'main'.
+--- org.springframework.boot:spring-boot-starter:1.4.2.RELEASE
| +--- org.springframework.boot:spring-boot:1.4.2.RELEASE
| | +--- org.springframework:spring-core:4.3.4.RELEASE
| | | \--- commons-logging:commons-logging:1.2
| | \--- org.springframework:spring-context:4.3.4.RELEASE
| | +--- org.springframework:spring-aop:4.3.4.RELEASE
| | | +--- org.springframework:spring-beans:4.3.4.RELEASE
| | | | \--- org.springframework:spring-core:4.3.4.RELEASE (*)
| | | \--- org.springframework:spring-core:4.3.4.RELEASE (*)
| | +--- org.springframework:spring-beans:4.3.4.RELEASE (*)
| | +--- org.springframework:spring-core:4.3.4.RELEASE (*)
| | \--- org.springframework:spring-expression:4.3.4.RELEASE
| | \--- org.springframework:spring-core:4.3.4.RELEASE (*)
| +--- org.springframework.boot:spring-boot-autoconfigure:1.4.2.RELEASE
| | \--- org.springframework.boot:spring-boot:1.4.2.RELEASE (*)
| +--- org.springframework.boot:spring-boot-starter-logging:1.4.2.RELEASE
| | +--- ch.qos.logback:logback-classic:1.1.7
| | | +--- ch.qos.logback:logback-core:1.1.7
| | | \--- org.slf4j:slf4j-api:1.7.20 -> 1.7.21
| | +--- org.slf4j:jcl-over-slf4j:1.7.21
| | | \--- org.slf4j:slf4j-api:1.7.21
| | +--- org.slf4j:jul-to-slf4j:1.7.21
| | | \--- org.slf4j:slf4j-api:1.7.21
| | \--- org.slf4j:log4j-over-slf4j:1.7.21
| | \--- org.slf4j:slf4j-api:1.7.21
| +--- org.springframework:spring-core:4.3.4.RELEASE (*)
| \--- org.yaml:snakeyaml:1.17
+--- org.springframework.boot:spring-boot-starter-tomcat:1.4.2.RELEASE
| +--- org.apache.tomcat.embed:tomcat-embed-core:8.5.6
| +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.6
| \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.5.6
| \--- org.apache.tomcat.embed:tomcat-embed-core:8.5.6
+--- org.springframework:spring-webmvc:4.3.4.RELEASE
| +--- org.springframework:spring-aop:4.3.4.RELEASE (*)
| +--- org.springframework:spring-beans:4.3.4.RELEASE (*)
| +--- org.springframework:spring-context:4.3.4.RELEASE (*)
| +--- org.springframework:spring-core:4.3.4.RELEASE (*)
| +--- org.springframework:spring-expression:4.3.4.RELEASE (*)
| \--- org.springframework:spring-web:4.3.4.RELEASE
| +--- org.springframework:spring-aop:4.3.4.RELEASE (*)
| +--- org.springframework:spring-beans:4.3.4.RELEASE (*)
| +--- org.springframework:spring-context:4.3.4.RELEASE (*)
| \--- org.springframework:spring-core:4.3.4.RELEASE (*)
+--- org.apache.httpcomponents:httpclient:4.5.2
| +--- org.apache.httpcomponents:httpcore:4.4.4
| +--- commons-logging:commons-logging:1.2
| \--- commons-codec:commons-codec:1.9
+--- org.apache.tomcat:tomcat-juli:8.0.36
\--- org.yaml:snakeyaml:1.17执行SampleTomcatSslApplicationTests时,您可以在日志中看到错误的Tomcat版本:
2016-12-21 10:20:36.713 INFO 11368 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2016-12-21 10:20:36.714 INFO 11368 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.6溶液
ext['tomcat.version'] = '8.0.36'https://stackoverflow.com/questions/41260015
复制相似问题