当前位置: 首页 > news >正文

Spring Boot程序的打包与运行:构建高效部署流程

引言

在现代应用开发中,高效的打包和部署流程对于项目的开发、测试和上线至关重要。Spring Boot作为一种快速开发框架,提供了方便的打包工具和内嵌式的Web服务器,使得打包和运行变得更加简单。本文将研究在Spring Boot应用中如何进行打包,帮助开发者构建高效的部署流程。

打包Spring Boot 应用

Spring Boot 提供了多种方式来打包应用,常见的有 Maven 插件和 Gradle 插件。以下以 Maven 为例:

Maven 插件

在项目的 pom.xml 文件中,添加 Maven 插件配置:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

通过执行以下命令进行打包:

mvn clean package

打包完成后,会在 target 目录下生成可执行的 JAR 文件。

运行Spring Boot 应用

Spring Boot 应用可以通过多种方式运行,包括使用内嵌的 Web 服务器、作为 WAR 文件部署到外部 Servlet 容器等。

使用内嵌的 Web 服务器

执行以下命令运行应用:

java -jar your-application.jar
//或
java –jar your-application.jar --server.port=80
//或
java –jar springboot.jar –-server.port=80 --logging.level.root=debug

这将启动嵌入式的 Tomcat 服务器,并运行 Spring Boot 应用。

外部 Servlet 容器

如果希望将应用部署到外部 Servlet 容器,需要将应用打包为 WAR 文件。在 pom.xml 中添加以下配置:

<packaging>jar</packaging>
//修改为
<packaging>war</packaging>
 引入依赖
  <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 去除内嵌tomcat --><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><!--添加servlet的依赖--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency></dependencies>
添加启动类
如果是 war 包发布,需要增加 SpringBootServletInitializer ⼦类,并重写其 configure⽅法,或者将 main 函数所在的类继承 SpringBootServletInitializer , 并重写configure ⽅法
当时打包为 war 时上传到 tomcat 服务器中访问项⽬始终报 404 错就是忽略了这个步骤!!!
@SpringBootApplication
public class JavaToJarAdmin  extends SpringBootServletInitializer {public static void main(String[] args) {SpringApplication.run(JavaToJarAdmin.class, args);}@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(JavaToJarAdmin.class);}}

然后执行 Maven 命令进行打包:

mvn clean package

打包完成后,会在 target 目录下生成可执行的 WAR文件。 

使⽤外部 Tomcat 运⾏该 war ⽂件(把 war ⽂件直接丢到 tomcat webapps⽬录)
启动tomcat
访问 http://localhost:8080/war包名/icon-default.png?t=N7T8http://localhost:8080/JavaToJar-1.0-SNAPSHOT/
 注意:
将项⽬打成 war 包,部署到外部的 tomcat 中,这个时候,不能直接访问 spring boot 项⽬中配置⽂件配置的端⼝。 application.yml 中配置的 server.port 配置的 是spring boot 内置的 tomcat 的端⼝号 , 打成 war 包部署在独⽴的 tomcat 上之后 , 配置的server.port 是不起作⽤的。⼀定要注意这⼀点。

结语

通过本文的介绍,你学会了如何使用 Maven 插件打包 Spring Boot 应用,灵活的打包和部署。结合内嵌的 Web 服务器和外部 Servlet 容器,将有助于构建一个稳定可靠的部署流程,提高开发和运维效率。

http://www.lryc.cn/news/284509.html

相关文章:

  • 【Linux取经路】初探进程地址空间
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • LeetCode、2300. 咒语和药水的成功对数【中等,排序+二分】
  • 【MyBatis-Plus】逻辑删除
  • Rust基础语法1
  • 【算法基础 数学】快速幂
  • 2024年华为OD机考高分攻略-完整题库-两周350分
  • 【微信小程序独立开发 4】基本信息编辑
  • Docker-基础指令
  • JUC-Java内存模型JMM
  • uni-app使用HBuilderX打包Web项目
  • 前后置、断言、提取变量、数据库操作功能
  • 三子棋/井字棋(C语言)
  • 数据结构小项目----通讯录的实现(这里用链表实现) 超详细~~~~૮(˶ᵔ ᵕ ᵔ˶)ა
  • Electron Apple SignIn 登录
  • 常用中间件漏洞
  • Windows系统使用手册
  • mp4文件可以转成mp3音频吗
  • Java-IO流【登录注册小项目】
  • 数字化金融时代:探讨全球金融科技创新的最新动态
  • LeetCode:206. 反转链表
  • linux 安装nginx
  • 1.C语言——基础知识
  • Redis 存在线程安全问题吗?为什么?
  • 无人机测绘助力实现高效、安全的城市规划
  • 实验七 RMAN恢复管理器
  • 未来 AI 可能给哪些产业带来哪些进步与帮助?
  • Java医院信息管理系统
  • QT+OSG/osgEarth编译之八十:ive+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_ive)
  • Webpack5入门到原理3:基本配置