SpringBoot第八章 Spring Boot 打包

Posted 王六六的IT日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot第八章 Spring Boot 打包相关的知识,希望对你有一定的参考价值。

第八章 Spring Boot 打包

Spring Boot 可以打包为 warjar 文件。 以两种方式发布应用。

8.1 Spring Boot 打包为 war

使用 Spring Boot 的 maven 插件将 Springboot 程序打成 war 包,单独部署在 tomcat 中运行(上线部署 常用)。
1.创建了一个jsp应用
2.修改pom.xml
在 pom.xml 文件中配置内嵌 Tomcat 对 jsp 的解析包:


指定 webapp 是 web 应用目录:







指定jsp编译目录:

启动主类,在浏览器访问地址 index:

指定打包后的文件名称:

发布war到tomcat:
主启动类继承 SpringBootServletInitializer:
继承 SpringBootServletInitializer 可以使用外部 tomcat。
SpringBootServletInitializer 就是原有的 web.xml 文件的替代。
使用了嵌入式 Servlet,默认是不支持 jsp。

public class JspApplication extends SpringBootServletInitializer


maven package 打包:



默认是jar,指定项目 package 是 是 war:

maven package 打包:

部署war
把war放到tomcat等服务器的发布目录中。
tomcat为例, myboot.war放到tomcat/webapps目录。

8.2 Spring Boot 打包为 jar

1.创建了一个包含了jsp的项目
2.修改pom.xml

3.创建 webpp 目录,并指定它是 web 应用根目录

创建 jsp 文件:

4.创建 HelloController

指定 jsp 文件编译后目录:

5.application.properties

6.启动 Application ,在浏览器访问应用
启动浏览器,访问 hello:

7. 指定打包后的文件名称:

8.指定springboot-maven-plugin版本

<plugins>
   <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <!--打包jar, 有jsp文件时,必须指定maven-plugin插件的版本是 1.4.2.RELEASE-->
      <version>1.4.2.RELEASE</version>
   </plugin>
</plugins>

执行 maven package:

target 目录有 jar 文件:mybootjar.jar。

8.3 Spring Boot 部署和运行方式总结

➢ 在 IDEA 中直接运行 Spring Boot 程序的 main 方法(开发阶段)
➢ 用 maven 将 Spring Boot 安装为一个 jar 包,使用 Java 命令运行
java -jar springboot-xxx.jar
可以将该命令封装到一个 Linux 的一个 shell 脚本中(上线部署)
◼ 写一个 shell 脚本:
#!/bin/sh
java -jar xxx.jar
◼ 赋权限 chmod 777 run.sh
◼ 启动 shell 脚本: ./run.sh

8.4 war和jar的区别

war:需要服务器,占用资源,占用端口号,服务器资源占用比较多,充分利用服务器的能力。
jar:有内嵌的tomcat,可以独立运行,简单方便,不需要过多的配置,某些功能上比不上独立的服务器

以上是关于SpringBoot第八章 Spring Boot 打包的主要内容,如果未能解决你的问题,请参考以下文章

第八章 springboot + mybatis + 多数据源

SpringBoot | 第八章:统一异常数据校验处理

第八章 springboot + mybatis + 多数据源(转载)

Spring第八章:Spring自动注入

SPRING IN ACTION 第4版笔记-第八章Advanced Spring MVC-003-Pizza例子的基本流程

SPRING IN ACTION 第4版笔记-第八章Advanced Spring MVC-001- 配置SpringFlow(flow-executorflow-registryFlowHand(代