Spring Boot 项目打成 war 包部署到 Tomcat

简介: 要知道,Spring Boot 的项目,默认是打为 jar 包的,这时候问题就来了,如果我想打成 war 包部署到 Tomcat,该怎么做呢?又是在网上找了半天的答案,质量不太好,绕来绕去没说个明白。其实还算是非常简单的,只需要大概几个步骤就行了。

1


要知道,Spring Boot 的项目,默认是打为 jar 包的,这时候问题就来了,如果我想打成 war 包部署到 Tomcat,该怎么做呢?又是在网上找了半天的答案,质量不太好,绕来绕去没说个明白。其实还算是非常简单的,只需要大概几个步骤就行了。


2


首先,在项目的 pom.xml 文件中做一些修改:

  • 添加 <packaging>war</packaging>
  • 排除掉 web 里面自带的 Tomcat,只需要在spring-boot-starter-web 这个依赖上添加如下内容:
  • 添加一个自己的 Tomcat ,在配置文件中,加入下面的依赖即可:
  • 添加一个插件,在文件的 build -> plugins 下面添加如下内容:

其中需要注意一下,上面的 <warName>ROOT</warName> 表示的是打包之后,war 包的名称,当然你可以改成其他的名字,至于有什么区别,后面再说。


3


找到项目的启动类,让其继承一个类:SpringBootServletInitializer,并且覆盖 configure 方法,在方法中添加 return builder.sources(WarDemoApplication.class); ,当然,这里的 WarDemoApplication.class 是我的启动类名称,你只需要改成你自己的名称即可。


4


这时候,进行最后的打包操作了,执行命令 mvn packgae 即可,这时候,war 包就在项目的 target 文件夹下面,因为我是取名为 ROOT 的,所以 war 就叫做 ROOT.war。然后我们可以将 war 包复制到本地的或是远程的 Tomcat 的webapps 目录下面,需要提前删除 webapps 目录下面的所有文件 ,然后启动 Tomcat ,会自动解压这个 war 包。

最后,该如何访问项目中的接口呢?如果我部署在了远程的 Tomcat 上面,例如 ip 是 192.168.66.128,那直接访问 192.168.66.128:8080/接口名 ,如果你的 war 包不是以 ROOT 命名,例如叫做 demo.war,那么你的访问路径就是 192.168.66.128:8080/demo/接口名,这也是我上面说到的区别。


相关文章
|
11天前
|
XML Java 应用服务中间件
SpringBoot项目打war包流程
本文介绍了将Spring Boot项目改造为WAR包并部署到外部Tomcat服务器的步骤。主要内容包括:1) 修改pom.xml中的打包方式为WAR;2) 排除Spring Boot内置的Tomcat依赖;3) 添加Servlet API依赖;4) 改造启动类以支持WAR部署;5) 打包和部署。通过这些步骤,可以轻松地将Spring Boot应用转换为适合外部Tomcat服务器的WAR包。
102 64
SpringBoot项目打war包流程
|
3月前
|
Java 应用服务中间件 Maven
如何将 Spring Boot 应用程序部署为 WAR?
如何将 Spring Boot 应用程序部署为 WAR?
184 1
|
3月前
|
监控 Java 应用服务中间件
Spring Boot整合Tomcat底层源码分析
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置和起步依赖等特性,大大简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是其与Tomcat的整合。
82 1
|
2月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
158 26
|
4月前
|
数据可视化 Java 应用服务中间件
springboot打war包,成功部署
这篇文章介绍了如何将Spring Boot项目打包成WAR文件,并成功部署到Tomcat服务器的详细步骤。
258 0
springboot打war包,成功部署
|
4月前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
282 0
idea+maven+tomcat+spring 创建一个jsp项目
|
4月前
|
Java 应用服务中间件 Linux
tomcat学习二:tomcat部署多个项目:不修改端口和修改端口 两种方式详解
这篇文章详细介绍了在Tomcat服务器上部署多个项目的方法,包括不修改端口和修改端口两种方式。
229 0
|
11天前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
106 17
Spring Boot 两种部署到服务器的方式
|
11天前
|
Dart 前端开发 JavaScript
springboot自动配置原理
Spring Boot 自动配置原理:通过 `@EnableAutoConfiguration` 开启自动配置,扫描 `META-INF/spring.factories` 下的配置类,省去手动编写配置文件。使用 `@ConditionalXXX` 注解判断配置类是否生效,导入对应的 starter 后自动配置生效。通过 `@EnableConfigurationProperties` 加载配置属性,默认值与配置文件中的值结合使用。总结来说,Spring Boot 通过这些机制简化了开发配置流程,提升了开发效率。
46 17
springboot自动配置原理
|
16天前
|
XML JavaScript Java
SpringBoot集成Shiro权限+Jwt认证
本文主要描述如何快速基于SpringBoot 2.5.X版本集成Shiro+JWT框架,让大家快速实现无状态登陆和接口权限认证主体框架,具体业务细节未实现,大家按照实际项目补充。
62 11