将 Spring Boot WAR 部署到 Tomcat 服务器
Servlet 容器期望应用程序满足要部署的某些协定。对于 Tomcat,合约是 Servlet API 3.0。
为了让我们的应用程序满足这个契约,我们必须对源代码进行一些小的修改。
首先,我们需要打包一个 WAR 应用程序而不是 JAR。为此,我们将使用以下内容更改 pom.xml:
<packaging>war</packaging>
接下来,我们将修改最终的 WAR 文件名,以避免包含版本号:
<build>
<finalName>${artifactId}</finalName>
...
</build>
然后,我们将添加 Tomcat 依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
最后,我们将通过实现 SpringBootServletInitializer 接口来初始化 Tomcat 所需的 Servlet 上下文:
@SpringBootApplication
public class SpringBootTomcatApplication extends SpringBootServletInitializer {
}
为了构建我们的 Tomcat 可部署的 WAR 应用程序,我们将执行 mvn clean 包。之后,我们的WAR文件在target/spring-boot-deployment.war中生成(假设Maven artifactId为“spring-boot-deployment”)。
我们应该考虑到,这个新设置使我们的Spring Boot应用程序成为一个非独立的应用程序(如果我们想让它再次以独立模式工作,我们可以从tomcat依赖项中删除提供的范围)。
4. 将 WAR 部署到 Tomcat
要在 Tomcat 中部署和运行 WAR 文件,我们需要完成以下步骤:
- 下载 Apache Tomcat 并将其解压缩到 tomcat 文件夹中
- 将我们的WAR文件从target/spring-boot-deployment.war复制到tomcat/webapps/文件夹
- 在终端中,导航到 tomcat/bin 文件夹并执行
- catalina.bat run(在Windows上)
- catalina.sh 运行(在基于 Unix 的系统上)
- 前往 http://localhost:8080/spring-boot-deployment/hello
这是一个快速的 Tomcat 设置,因此请查看 Tomcat 安装指南以获取完整的设置指南。还有其他方法可以将 WAR 文件部署到 Tomcat。
posted on 2023-12-23 21:16 zyp_java_net 阅读(62) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?