我创建了一个基于Maven的spring-boot-project,以探索如何使其在Websphere Application Server上运行。 这是我需要排除spring-boot-starter-web的嵌入式Tomcat的方式。
我尝试了以下操作:
为spring-boot-starter-tomcat添加了一个新的依赖项,其范围为:提供(请参阅Removing embedded tomcat server from war file when deploying to JBOSS [Spring-Boot]),然后进行mvn干净更新。
使用spring-boot-starter-web依赖项中的exclusions-tag排除spring-boot-starter-tomcat(请参阅https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html),然后进行mvn干净更新。
这些都不是。
这是我的“本地” POM:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/>
</parent>
<packaging>war</packaging>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
这是我对显式Tomcat的依赖(范围:提供):
<project ...>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
这是我对排除对象的依赖:
<project ...>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‑boot‑starter‑tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
这是mvndependency:tree的输出:
https://imgur.com/a/VUkYCLm (很抱歉,我不知道如何在此处上传图片。)
我希望从我的maven依赖项中删除Tomcat。
谢谢。
答案 0 :(得分:0)
运行您发布的排除示例在我构建它时运行良好。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
添加此排除项后,我也进行了mvn全新安装,并且我的依赖项树也不再包含tomcat jar了:
添加排除项后,您是否进行过干净安装?