首页 > 其他分享 >8、SpringBoot2之打包及运行

8、SpringBoot2之打包及运行

时间:2024-01-10 12:13:25浏览次数:39  
标签:启动 boot jar maven SpringBoot2 打包 spring 运行

为了演示高级启动时动态配置参数的使用,本文在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

标签:启动,boot,jar,maven,SpringBoot2,打包,spring,运行
From: https://www.cnblogs.com/Javaer1995/p/17926279.html

相关文章

  • python diango后端支持运行脚本+vue前端支持脚本运行
    #使用Python内置的subprocess模块来执行Python脚本#使用注意:#1,依赖包需要提前导入至脚本中#2,script_path变量是脚本得绝对路径#3,filename变量是脚本得名称#搭配vue页面使用#想法:页面支持导入,编辑,执行脚本#导入:默认指定路径下,需要填......
  • electron-vite 安装, 打包下载资源失败,设置国内镜像
    由于electron默认打包会从github上下载相关二进制包,众所周知,国内GitHub访问是相当慢的,所以经常会出现下载失败导致打包不成功,这时我们就需要配置国内的镜像源,以解决从GitHub下载慢甚至无法下载的问题。修改npm配置文件(没有就创建):npm的配置文件为用户根目录下的:~/.npmrc(Windows路......
  • 软件测试/测试开发/全日制|Pytest测试用例调度与运行
    前言Pytest是一个功能强大的Python测试框架,它具有灵活的测试用例调度和运行机制。在本文中,我们将深入了解Pytest是如何收集、选取和运行测试用例的。测试用例的收集在Pytest中,测试用例是通过函数来表示的。为了进行测试,Pytest需要收集这些测试函数。默认情况下,Pytest会在......
  • 如何在Windows系统环境中监测视频综合管理平台EasyCVR程序运行?
    今天我们来介绍下在Windows系统环境中,如何监测EasyCVR程序运行。1、使用任务计划程序1)打开“任务计划程序”(开始菜单->Windows系统->任务计划程序),在右侧点击“创建基本任务”,如下:2)输入任务的名称和描述;3)选择“每天”或“每周”等触发器,根据需求设置启动条件;4)在“操作”标签......
  • 1. 将 XXX 注册成 Windows 服务运行 -- 以Nacos为例
    众所周知,在Windows环境下想要启动nacos需要运行bin目录下的startup.cmd。这样的启动方式需要保证cmd窗口一直开着,只要把这个窗口关掉,nacos服务就停了。所以为了避免人为的误关窗口,把nacos注册成一个winserver就是一个好的选择。这样不仅可以保证nacos一直在后台运......
  • JVM4(运行时内存)
    Java堆从GC的角度还可以细分为:新生代(Eden区、FromSurvivor区和ToSurvivor区)和老年代。(1)新生代是用来存放新生的对象。一般占据堆的1/3空间。由于频繁创建对象,所以新生代会频繁触发MinorGC进行垃圾回收。新生代又分为Eden区、ServivorFrom、ServivorTo三个区。......
  • 《PySpark大数据分析实战》-10.独立集群模式的代码运行
    ......
  • 软件测试/测试开发/全日制|Pytest如何灵活地运行用例
    前言Pytest能够满足我们对单元测试框架的许多要求,它简洁易用,同时提供了丰富的功能来进行测试用例的管理和执行。在本文中,我们将深入探讨如何使用Pytest运行多条测试用例、测试文件或测试包,并且指定运行特定的测试用例,并对执行结果进行分析。运行多条测试用例/文件/包Pytest具备......
  • wasmex webassenbly elixir 运行时
    wasmex是基于wasmtime以及rustnif开发的方便elixir运行webassembly的框架与rust的集成与rust集成使用的三方包 与mjml工具类似使用了rustler_precompiled以及rustlerrust使用的三方包 前边也说了是基于了wasmtime包装的,同时使用了wasmtimewasi一些子模块说明rustle......
  • Java 打maven包 可以使用java -jar 运行
    有时候我们想打一个jar包像springboot项目一样运行javajar来运行,但是直接使用maven引入相关的依赖直接打包无法使用。这时需要在pom.xml中添加一个plugin   <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-pl......