8、SpringBoot2之打包及运行

发布时间 2024-01-10 12:00:58作者: Javaer1995

为了演示高级启动时动态配置参数的使用,本文在SpringBoot2之配置文件的基础上进行

8.1、概述

普通的 web 项目,会被打成一个 war 包,然后再将 war 包放到 tomcat 的 webapps 目录中;

当 tomcat 启动时,在 webapps 目录中的 war 包会自动解压,此时便可访问该 web 项目的资源或服务;

因为 spring boot 自身有内置的服务器软件(例如 tomcat ),所以 web 项目也可以打成一个 jar 包,直接用命令行启动即可。

8.2、引入打包插件

image

注意:添加 spring-boot-maven-plugin 插件,是为了支持将项目打包成可执行的 jar 包;
如果不添加插件配置,会无法找到 spring boot 应用程序的入口点,因此导致无法运行。

    <!-- SpringBoot应用打包插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

8.3、执行打包

8.3.1、第一步clean

image

image

8.3.2、第二步package

image

image

注意:在打包时可能会报错:
Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources) on project springboot_application: Input length = 1 -> [Help 1]
该错误是配置文件的编码格式未设置而导致的,解决方式请参考启动SpringBoot报错Input length = 1问题及解决

8.3.3、打包成功

image

8.4、启动运行

8.4.1、常规启动

启动 jar 包的命令格式为:java -jar <jar文件名>

image

java -jar springboot_application-1.0-SNAPSHOT.jar

image

8.4.2、高级启动

spring boot 的 jar 包,可以在启动时动态指定配置参数;
其命令格式为:java -jar [-D<name>=<value>] [-D<name>=<value>] <jar文件名>

image

java -jar -Dserver.port=8888 -Dspring.profiles.active=prod springboot_application-1.0-SNAPSHOT.jar

image