spring-boot打成war包放入tomcat运行
Posted zhizou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-boot打成war包放入tomcat运行相关的知识,希望对你有一定的参考价值。
一、application集成SpringBootServletInitializer(重写configure方法)
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication public class Hello2Application extends SpringBootServletInitializer @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) //主要目的是构建成war包使用其他Web服务器去构建。 return builder.sources(Hello2Application.class); public static void main(String[] args) SpringApplication.run(Hello2Application.class, args);
二、配置pom.xml
<?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/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>hello2</artifactId> <version>0.0.1-SNAPSHOT</version> <name>hello2</name> <description>Demo project for Spring Boot</description> <!--改为war方式--> <packaging>war</packaging> <properties> <java.version>1.8</java.version> </properties> <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> <!--排除内置的Tomcat--> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。 相当于compile,但是打包阶段做了exclude操作--> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build>
<!-- war包的名字 --> <finalName>hello2</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
三、完成后进行编译打包
编译:mvn clean compile
打包:mvn clean package
以上是关于spring-boot打成war包放入tomcat运行的主要内容,如果未能解决你的问题,请参考以下文章
ideal中把项目打成war包,并放在tomcat运行,遇见的问题。。。