Spring Boot应用程序的默认包装是jar,其中包含业务类和嵌入式Web服务器。这主要是为了在其他容器(如WildFly)上部署Spring Boot应用程序。在这种情况下,你只需要在pom.xml
文件中声明打包类型 "war "即可。
<project> <packaging>war</packaging> </project >
接下来我们要做的是将嵌入式Web服务器(默认为tomcat)的范围设置为 "provided"。为什么?因为我们不想把嵌入式Web服务器作为WAR的一部分,但我们仍然可能在开发生命周期中使用它。这里有一个例子,它使用所有需要的设置来产生一个war,并按照提供的要求设置Tomcat的依赖性。
<?xml version="1.0" encoding="UTF-8"?><project>
<groupId>com.masterspringboot</groupId>
<artifactId>webdemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>springbootdemo</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-hateoas</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>repository.spring.release</id>
<name>Spring GA Repository</name>
<url>http://repo.spring.io/release</url>
</repository>
</repositories>
</project>
最后,如果我们要在Tomcat上部署我们的应用程序,我们需要通过实现SpringBootServletInitializer接口来初始化Tomcat需要的Servlet上下文:。
@SpringBootApplication
public class SpringBootTomcatApplication extends SpringBootServletInitializer {}
为了建立我们的WAR应用程序,我们执行。
mvn clean install
之后,WAR文件将在你项目的目标文件夹中被创建。请注意,这个新配置使我们的Spring Boot应用程序成为一个非独立的应用程序(如果你想让它再次以独立模式工作,请从tomcat依赖中删除所提供的范围)。
如果你想了解如何在WildFly上部署Spring Boot应用程序,请查看这个教程:Deploying a Spring Boot application on WildFly
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
内容来源于网络,如有侵权,请联系作者删除!