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/接口名,这也是我上面说到的区别。


相关文章
|
22天前
|
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包。
113 64
SpringBoot项目打war包流程
|
2月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
171 26
|
4月前
|
数据可视化 Java 应用服务中间件
springboot打war包,成功部署
这篇文章介绍了如何将Spring Boot项目打包成WAR文件,并成功部署到Tomcat服务器的详细步骤。
266 0
springboot打war包,成功部署
|
4月前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
289 0
idea+maven+tomcat+spring 创建一个jsp项目
|
4月前
|
Java 应用服务中间件 Linux
tomcat学习二:tomcat部署多个项目:不修改端口和修改端口 两种方式详解
这篇文章详细介绍了在Tomcat服务器上部署多个项目的方法,包括不修改端口和修改端口两种方式。
241 0
|
22天前
|
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的端口配置不会生效。
179 17
Spring Boot 两种部署到服务器的方式
|
22天前
|
Dart 前端开发 JavaScript
springboot自动配置原理
Spring Boot 自动配置原理:通过 `@EnableAutoConfiguration` 开启自动配置,扫描 `META-INF/spring.factories` 下的配置类,省去手动编写配置文件。使用 `@ConditionalXXX` 注解判断配置类是否生效,导入对应的 starter 后自动配置生效。通过 `@EnableConfigurationProperties` 加载配置属性,默认值与配置文件中的值结合使用。总结来说,Spring Boot 通过这些机制简化了开发配置流程,提升了开发效率。
56 17
springboot自动配置原理
|
27天前
|
XML JavaScript Java
SpringBoot集成Shiro权限+Jwt认证
本文主要描述如何快速基于SpringBoot 2.5.X版本集成Shiro+JWT框架,让大家快速实现无状态登陆和接口权限认证主体框架,具体业务细节未实现,大家按照实际项目补充。
74 11
|
30天前
|
缓存 安全 Java
Spring Boot 3 集成 Spring Security + JWT
本文详细介绍了如何使用Spring Boot 3和Spring Security集成JWT,实现前后端分离的安全认证概述了从入门到引入数据库,再到使用JWT的完整流程。列举了项目中用到的关键依赖,如MyBatis-Plus、Hutool等。简要提及了系统配置表、部门表、字典表等表结构。使用Hutool-jwt工具类进行JWT校验。配置忽略路径、禁用CSRF、添加JWT校验过滤器等。实现登录接口,返回token等信息。
293 12
|
2月前
|
Java 数据库连接 Maven
最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)
自动装配是现在面试中常考的一道面试题。本文基于最新的 SpringBoot 3.3.3 版本的源码来分析自动装配的原理,并在文未说明了SpringBoot2和SpringBoot3的自动装配源码中区别,以及面试回答的拿分核心话术。
最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)