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

07-11 1704阅读

目录:

  • Spring Boot 应用的 “打包” 和 “部署” :
    • 一、Jar包方式打包部署 ( SpringBoot默认以 "Jar包" 形式进行 “打包部署” ) :
      • 1.1 "Jar包" 方式 “打包” :
        • ① 添加Maven “打包插件”
        • ② 使用IDEA开发工具进行 "打包"
        • 1.2 "Jar包" 方式 “部署”
        • 二、"War包" 方式打包部署 :
          • 2.1 "War包" 方式 “打包” :
            • ① 声明打包方式为 "War包" :
            • ② 声明使用 “外部” Tomcat服务器
            • ③ 提供Spring Boot "启动" 的 "Servlet初始化器"
            • 2.2 "War包" 方式 “部署” ( 注意点 : war包部署后,访问项目时,必须加上 “项目名称” , 不然会访问不到 )

              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

                    
                        
                            
                                org.springframework.boot
                                spring-boot-maven-plugin
                            
                        
                    
                    

                    在对 Spring Boot项目进行打包(包括 Jar包和 War包)前,需要在项目 pom.xml文件中加入Maven打包插件。

                    ② 使用IDEA开发工具进行 “打包”
                    • IDEA开发工具除了提供Java开发的便利之外,还提供了非常好的 项目打包支持,具体操作如下图所示 :

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

                      在上图中,使用IDEA开发工具对Spring Boot项目进行 打包时,单击右侧边框的【Maven】视图,打开对应的项目操作窗口;然后,在“Maven’”视图对应的操作窗口中,选择项目目录下Lifecycle目录中的【package】选项,直接双击就可以进行 项目打包了。

                      根据上述操作说明,双击【package】选项执行打包后,控制台就会显示打包运行过程以及最终的打包结果,效果如下图所示

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

                      控制台界面中显示的信息 :

                      Building jar: S:\2024年项目\SpringBoot企业级开发\chapter_12\target\chapter_12-0.0.1-SNAPSHOT.jar

                      是 Jar包的具体存放路径以及名称。


                      与此同时,我们还可以打开IDEA开发工具下项目的 target目录中查看打成的Jar包,效果如下图所示 :

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

                      1.2 “Jar包” 方式 “部署”

                      • 打开 IDEA开发工具中的 Terminal终端界面 ( 该界面会 默认打开项目所在位置 ) ,用 Jar包方式部署 的 命令 :

                        java -jar target\jar包名名称.jar
                        //注意点: Terminal终端界面要在当前的"项目路径"下,然后再运行上述命令进行Jar包方式“部署”
                        

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


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

                        执行上述指令后,Terminal终端界面就会 启动 SpringBoot项目。 一定要保证执行的xxx.jar包可以找到并且路径中没有特殊字符 ( 如: 空格 )。

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

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

                          这就需要将 项目 打成 War包。

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

                          ① 声明打包方式为 “War包” :
                          • 在**pom.xml文件中添加 以下命令** 来将 Spring Boot项目默认的 Jar包打包方式修改为War包 形式 :

                            war
                            

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

                            ② 声明使用 “外部” Tomcat服务器
                            • Spring Boot为项目默认提供了内嵌的Tomcat服务器,为了将项目以War形式进行 打包部署,此时就需要声明使用外部 Tomcat 服务器。

                            • 在 pom.xml文件中,配置使用外部提供的Tomcat :

                              
                              
                                  org.springframework.boot
                                  spring-boot-starter-tomcat
                                  provided
                              
                              

                              上述代码中,spring-boot-starter-tomcat 指定的是 Spring Boot 内嵌的Tomcat服务器,使用 provided 将 该服务器 声明为外部已提供provided。这样,在 项目打包部署时,既可以使用外部配置的Tomcat 以 War 包形式部署,

                              还可以使用内嵌Tomcat以 Jar包形式部署。

                              ③ 提供Spring Boot “启动” 的 “Servlet初始化器”
                              • 让 主程序启动类 继承 SpringBootServletInitializer,并 重写 configure( )方法 :

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

                                上述代码中,主程序启动类 继承 SpringBootServletlnitializer类并实现 configure( )方法,在 configure( )方法中,sources( )方法的第一个参数必须是项目主程序启动类。

                                执行完 上述3步操作 后,就可以将项目以 War 包形式进行 打包了。War 包形式的 打包方式与 Jar包的打包形式是一样的,透视通过IDEA打包工具进行打包。

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

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

                                • 将打包好的 War包 复制到 Tomcat安装目录下的webapps目录中,执行Tomcat安装目录下 bin 目录中的 startup.bat命令 启动 War 包项目。项目启动后,执行效果如图所示 :

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

                                  此时可对项目中的内容进行访问,如 :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 ( 加上了 “项目名称” )就能访问到该项目了。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]