【发布时间】:2014-11-17 11:08:52
【问题描述】:
我想用 maven 创建一个没有嵌入 tomcat 的 war 文件。 这是我的pom的相关部分
...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.1.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- Add tomcat only if I want to run directly -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
...
如果我运行 mvn package 我会遇到战争,其中 tomcat*.jar 位于提供的 lib 文件夹中,但仍在 lib 文件夹中。我读了build-tool-plugins-maven-packaging,但找不到问题所在。
我知道一个主要想法是将其作为应用程序运行,无论我们的客户希望如何将其部署在他的应用程序服务器上。
【问题讨论】:
-
jar 仍然存在这一事实并不意味着您不能将其部署为战争。您可以按原样完美部署它。确保从
spring-boot-starter-web依赖项中排除 tomcat。 -
@niels,您编辑了这个问题,自修订版 2 起,它包含了您问题的答案。恢复到您最初的答案并提供单独的答案怎么样?
-
@Abdull 好主意。它使它更清晰。
标签: spring maven war spring-boot