0


Spring Boot | Spring Boot 应用的 “打包” 和 “部署”

目录:

在这里插入图片描述

Spring Boot 应用的 “打包” 和 “部署” :

作者简介 :一只大皮卡丘,计算机专业学生,正在努力学习、努力敲代码中! 让我们一起继续努力学习!

该文章参考学习教材为:
《Spring Boot企业级开发教程》 黑马程序员 / 编著
文章以课本知识点 + 代码为主线,结合自己看书学习过程中的理解和感悟 ,最终成就了该文章

文章用于本人学习使用 , 同时希望能帮助大家。
欢迎大家点赞👍 收藏⭐ 关注💖哦!!!

(侵权可联系我,进行删除,如果雷同,纯属巧合)


  • 传统的Web应用 进行 打包部署时,通常会打成War包形式,然后将 War包部署Tomcat等服务器中,而Spring Boot应用****使用的是嵌入式Servlet容器也就是说Spring Boot应用默认是 以Jar包形式 进行 打包部署的,而如果想要使用传统War包形式进行打包部署,就需要进行一些配置。( SpringBoot默认打 的是Jar包,而不是war包 )

一、Jar包方式打包部署 ( SpringBoot默认以 “Jar包” 形式进行 “打包部署” ) :

  • 由于 Spring Boot应用中 已经嵌入Tomcat服务器,所以将Spring Boot应用以默认 Jar包形式进行打包部署非常简单方便

1.1 “Jar包” 方式 “打包” :

① 添加Maven “打包插件”
  • 添加 Maven打包插件spring-boot-maven-plugin<!-- Maven打包插件,辅助对项目进行“打包” --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>在对 Spring Boot项目进行打包(包括 Jar包War包)前,需要在项目 pom.xml文件中加入Maven打包插件
② 使用IDEA开发工具进行 “打包”
  • IDEA开发工具除了提供Java开发的便利之外,还提供了非常好的 项目打包支持具体操作下图所示在这里插入图片描述上图中,使用IDEA开发工具Spring Boot项目进行 打包时,单击右侧边框的【Maven】视图,打开对应的项目操作窗口;然后,在“Maven’”视图对应的操作窗口中,选择项目目录下Lifecycle目录中的【package】选项,直接双击就可以进行 项目打包了。 根据上述操作说明双击【package】选项执行打包后,控制台就会显示打包运行过程以及最终的打包结果,效果如下图所示在这里插入图片描述控制台界面中显示的信息 :Building jar: S:\2024年项目\SpringBoot企业级开发\chapter_12\target\chapter_12-0.0.1-SNAPSHOT.jarJar包具体存放路径以及名称。---与此同时,我们还可以打开IDEA开发工具下项目的 target目录中查看打成的Jar包,效果如下图所示 :在这里插入图片描述

1.2 “Jar包” 方式 “部署”

  • 打开 IDEA开发工具中的 Terminal终端界面 ( 该界面默认打开项目所在位置 ) ,用 Jar包方式部署命令java -jar target\jar包名名称.jar//注意点: Terminal终端界面要在当前的"项目路径"下,然后再运行上述命令进行Jar包方式“部署”---在这里插入图片描述---在这里插入图片描述执行上述指令后Terminal终端界面就会 启动 SpringBoot项目。 一定要保证执行的xxx.jar包可以找到并且路径中没有特殊字符 ( 如: 空格 )。

二、“War包” 方式打包部署 :

  • 虽然通过 Spring Boot 内嵌Tomcat 可以直接将项目打成Jar包进行部署,但有时候需要 通过 外部的可配置Tomcat进行项目管理, 这就需要将 项目 打成 War包

2.1 “War包” 方式 “打包” :

① 声明打包方式为 “War包” :
  • pom.xml文件中添加 以下命令 来将 Spring Boot项目默认Jar包打包方式修改为War包 形式 :<!-- 1.将项目打包方式声明为: War --><packaging>war</packaging>---在这里插入图片描述
② 声明使用 “外部” Tomcat服务器
  • Spring Boot项目默认提供了内嵌Tomcat服务器,为了将项目以War形式进行 打包部署,此时就需要声明使用外部 Tomcat 服务器
  • pom.xml文件中,配置使用外部提供的Tomcat<!-- 2.声明使用外部提供的Tomcat --><!-- spring-boot-starter-tomcat : 指的是SpringBoot内嵌的"服务器" ,<scope>provided</scope> : 表示将“服务器”声明为 provided ,这样SpringBoot即可使用内嵌Tomcat以Jar包形式部署,也可使用外部配置的Tomcat以War包形式部署--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency>上述代码中,spring-boot-starter-tomcat****指定的是 Spring Boot 内嵌Tomcat服务器,使用 <Scope> provided </scope>该服务器声明为外部已提供provided。这样,在 项目打包部署时,既可以使用外部配置TomcatWar 包形式部署,还可以使用内嵌TomcatJar包形式部署
③ 提供Spring Boot “启动” 的 “Servlet初始化器”
  • 主程序启动类继承SpringBootServletInitializer,并 重写 configure( )方法 :在这里插入图片描述上述代码中主程序启动类继承SpringBootServletlnitializer类并实现 configure( )方法,在 configure( )方法中,sources( )方法第一个参数必须是项目主程序启动类。执行完 上述3步操作 后,就可以将项目以 War 包形式进行 打包了。War 包形式的 打包方式Jar包打包形式一样的,透视通过IDEA打包工具进行打包在这里插入图片描述

2.2 “War包” 方式 “部署” ( 注意点 : war包部署后,访问项目时,必须加上 “项目名称” , 不然会访问不到 )

  • 将打包好的 War包****复制Tomcat安装目录下的webapps目录中,执行Tomcat安装目录bin 目录中的 startup.bat命令 启动 War 包项目项目启动后,执行效果如图所示在这里插入图片描述此时可对项目中的内容进行访问,如 :http://localhost:8080/chapter_12-0.0.1-SNAPSHOT/toUpload ( 访问该项目时,必须加上 “项目名称” : 打成war包后的项目全名 )---注意点war包部署后访问项目时,必须加上 “项目名称” , 不然会访问不到。如平常 SpringBoot默认Jar包部署时,访问 http://localhost:8080/toUpload 就能访问到项目,但因为此处的使用 外部的Tomcat进行war包部署url上就必须加上 “项目名称”,所以此处用 http://localhost:8080/chapter_12-0.0.1-SNAPSHOT/toUpload ( 加上了 “项目名称” )就能访问到该项目了。
标签: spring boot 后端 java

本文转载自: https://blog.csdn.net/m0_70720417/article/details/137841135
版权归原作者 一只大皮卡丘 所有, 如有侵权,请联系我们删除。

“Spring Boot | Spring Boot 应用的 “打包” 和 “部署””的评论:

还没有评论