【发布时间】:2019-11-13 01:55:54
【问题描述】:
我创建了一个基于 maven 的 spring-boot-project 来探索如何让它在 Websphere Application Server 上运行。 这是我需要排除spring-boot-starter-web的嵌入式Tomcat的方式。
我尝试了以下方法:
为 spring-boot-starter-tomcat 添加了一个新的依赖项,其范围为:provided(参见Removing embedded tomcat server from war file when deploying to JBOSS [Spring-Boot]),后跟一个 mvn clean 更新。
使用 spring-boot-starter-web 依赖项中的 excludes-tag 来排除 spring-boot-starter-tomcat(参见 https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html),然后进行 mvn clean 更新。
这些都不起作用。
这是我的“原生”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>
这是 mvn dependency:tree: 的输出:
https://imgur.com/a/VUkYCLm (抱歉我这里不知道怎么上传图片。)
我希望 Tomcat 从我的 maven 依赖项中删除。
提前致谢。
【问题讨论】:
-
请更具体地说明什么不起作用。对于初学者,我看不到您正在构建 WAR 的任何地方,因此您可能会得到一个 JAR,并且根本无法将其部署到 websphere。你也没有定义你是如何构建你的工件的。
-
其实我有,但我虽然不需要提供,但我会在几分钟内编辑它。
标签: java spring maven spring-boot tomcat