我正在遵循spring的说明,如何使用Tomcat7而不是Tomcat8 http://docs.spring.io/spring-boot/docs/1.4.0.RELEASE/reference/htmlsingle/#howto-use-tomcat-7-maven:
<properties>
<spring.version>4.3.2.RELEASE</spring.version>
<spring.data.version>1.9.4.RELEASE</spring.data.version>
<spring.batch.version>3.0.7.RELEASE</spring.batch.version>
<spring.integration.version>4.3.1.RELEASE</spring.integration.version>
<spring.boot.version>1.4.0.RELEASE</spring.boot.version>
<tomcat.version>7.0.59</tomcat.version>
</properties>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>但当运行应用程序时,它仍然在Tomcat 8上运行:
o.a.catalina.core.StandardEngine - Starting Servlet Engine: Apache Tomcat/8.5.4下一个依赖项也会加载到lib文件夹中:
tomcat-embed-core-8.5.4.jar
tomcat-embed-el-8.5.4.jar
tomcat-embed-websocket-8.5.4.jar
tomcat-juli-7.0.59.jar为了让它正常工作,还需要做些什么?
发布于 2016-11-29 20:03:31
您的pom.xml中是否有spring-boot-starter-parent作为父依赖项?我认为您可能必须拥有它才能让tomcat.version属性在spring-boot-starter-web依赖项上工作。这就是starter依赖项的依赖项管理。否则它只需要在spring-boot-starter-web中使用最新版本的tomcat ...
发布于 2020-10-20 17:29:00
如果没有启动父级:
<project>
<properties>
<tomcat.version>7.0.59</tomcat.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- things you wanna override -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>${tomcat.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>${tomcat.version}</version>
<scope>test</scope>
</dependency>
<!-- pom -->
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.4.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-juli</artifactId>
<version>${tomcat.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>您可以使用IntelliJ查看maven中发生的情况显示依赖项

只要使用"tomcat.version",在IntelliJ显示依赖项中没有发生任何事情,所以我在显示依赖项中检查我应该覆盖的内容,然后覆盖它们。
发布于 2020-10-20 17:42:10
请尝试以下步骤:
从-
如果您使用的是IDE,例如。IntelliJ的想法,并尝试刷新Maven pom(当您在pom.xml文件中时有一个图标),并重新构建您的项目以清除IDE中的缓存。
如果您使用的是mvn命令,请尝试清理并构建它。
例如:
mvn clean packagehttps://stackoverflow.com/questions/40864049
复制相似问题