SpringBoot2-Tomcat部署
1.排除内置 Tomcat
在pom.xml文件中的下添加以下代码,用于排除SpringBoot内置Tomcat
<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>
2.将打包方式更改为 war
<parent><artifactId>cloud2023</artifactId><groupId>org.example.cloud</groupId><version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
3.修改启动类
使启动类继承 SpringBootServletInitializer 类,并覆盖 configure 方法。
@SpringBootApplication
public class PaymentMan8001 extends SpringBootServletInitializer {public static void main(String[] args) {SpringApplication.run(PaymentMan8001.class, args);}@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(PaymentMan8001.class);}
}
4.添加依赖
由于 SpringBootServletInitializer 类需要用到 servlet-api 的相关 jar 包,所以需要在pom.xml的中添加javax.servlet依赖
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope>
</dependency>
5.部署到外部 Tomcat
5.1 直接使用Tomcat部署
1) 先对项目进行打包(war包),打包成功后会生成target目录
2) 在target目录下复制war包
3)打开你的tomcat目录,找到webapps文件夹,将刚刚复制的war包复制到webapps文件夹下
4) 当Tomcat服务器启动后
假设你部署war包名为demo.war, 则访问URL应该为 http://localhost:8080/demo,打开浏览器输入URL,即可访问
5) 测试
localhost:8001/demo/payment/get/1
5.2 在IDEA中部署
1) 编辑配置
2) 选择Tomcat Server --> Local
3) 选择你下载好的Tomcat
4) 添加Artifact
6) 点击apply
7) 启动项目