前言:
近期,在搞国产中间件的部署,那么则需要将项目打为war包,并且在tomcat内尝试成了再去部署到国产中间件吧,以免引起不必要的时间浪费。
1、准备工作
准备好tomcat10的版本
准备好SpringBoot项目
2、代码改造
打war包需要从springboot依赖中排除tomcat相关的包,我们以Snowy国产快速开发平台为例
修改snowy-common下的pom
<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>
光这样排除后,打包会报错,需要添加以下依赖:
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.1.0-M2</version>
</dependency>
别急,还需添加一个tomcat的依赖(SpringBoot2的项目不需要),如下:
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>10.1.24</version>
</dependency>
修改启动类 需继承SpringBootServletInitializer
如图:
其次,配置文件内,增加一行(这个path,代表你在tomcat部署后,浏览器访问的后缀,需要跟tomcat的配置中保持一致):
server.servlet.context-path=/
最后,修改根pom,把jar改为war:
接下来就是打包环节了:
部署:
找到tomcat的webapp文件夹,里面会有好几个文件夹,把里面内容删除干净,没啥用;其次把打好的war包丢进tomcat的webapp文件夹内。
修改tomcat配置:
打开tomcat的conf
文件夹下server.xml
文件,找到<Host
标签内,加入一句话:
<Context path="/" docBase="snowy-web-app-2.0.0" debug="0" reloadable="true"/>
启动:
最后启动即可,如果是端口冲突、数据库未连接、redis未连接,都会有错误提示,按情况改正即可。
标签:Tomcat,tomcat,boot,文件夹,SpringBoot3,org,servlet,war From: https://blog.csdn.net/qq_23865779/article/details/139756314