• springboot项目的打包发布部署,jar和war的区别


    简介:

    1.Spring Boot使用了内嵌容器,因此它的部署方式也变得非常简单灵活,可以将Spring Boot项目打包成JAR包来独立运行,也可以打包成WAR包部署到Tomcat容器中运行,如果涉及大规模的部署,Jenkins成为最佳选择之一。

    生成jar包

    Maven默认会将项目打成JAR包,也可以在pom.xml文件中指定打包方式。配置示例如下:
    在这里插入图片描述

    生成war包

    Spring Boot项目既可以生成WAR包发布,也可以生成JAR包发布。那么它们有什么区别呢?
    JAR包:通过内置Tomcat运行,不需要额外安装Tomcat。如果需修改内置Tomcat的配置,只需要在Spring Boot的配置文件中配置即可。内置Tomcat没有自己的日志输出,全靠JAR包应用输出日志,但是部署简单方便,适合快速部署。
    WAR包:传统的应用交付方式,需要安装Tomcat,然后将WAR包放到webapps目录下运行,这样可以灵活选择Tomcat版本,也可以直接修改Tomcat的配置,同时有自己的Tomcat日志输出,可以灵活配置安全策略。WAR包相对JAR包来说没那么快速方便。
    更改配置
    在这里插入图片描述排除tomcat

    
    <dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-tomcatartifactId>
    <scope>providedscope>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在上面的示例中,将Tomcat组件的scope属性设置为provided,这样在打包产生的WAR中就不会包含Tomcat相关的JAR。

    注册启动类

    @SpringBootApplication
    public class PackageApplication extends SpringBootServletInitializer {
            @Override
            protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
                    return application.sources(PackageApplication.class);
            }
            public static void main(String[] args) {
                    SpringApplication.run(PackageApplication.class, args);
            }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    打包命令
    在项目根目录下,在控制台执行如下命令:
    mvn clean package -Dmaven.test.skip=true
    1)mvn clean package其实是两条命令,mvn clean用于清除项目target目录下的文件,mvn package是打包命令。两个命令可以一起执行。
    2)-Dmaven.test.skip=true:排除测试代码后进行打包。
    将打包好的WAR包复制到Tomcat服务器中的webapps目录下启动即可。

    启动运行

    在这里插入图片描述在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    cartographer_ros数据加载与处理
    【微波工程学习记录1】功率分配器和定向耦合器
    torchvision中数据集的使用
    牛客小白月赛65
    数据可视化——ucharts的使用
    pgsql 报错 later table “drop column” is not supported now
    前端bootstrap+fileInput+django后端是用ajax方式上传form表单数据及多个文件保存到数据库
    集合、collection、list的方法
    KT6368A双模蓝牙芯片串口与mcu之间串接的电阻以及电平转换说明
    使用Hypothesis生成测试数据
  • 原文地址:https://blog.csdn.net/Rockandrollman/article/details/128070781