8、SpringBoot2之打包及运行
为了演示高级启动时动态配置参数的使用,本文在SpringBoot2之配置文件的基础上进行
8.1、概述
普通的 web 项目,会被打成一个 war 包,然后再将 war 包放到 tomcat 的 webapps 目录中;
当 tomcat 启动时,在 webapps 目录中的 war 包会自动解压,此时便可访问该 web 项目的资源或服务;
因为 spring boot 自身有内置的服务器软件(例如 tomcat ),所以 web 项目也可以打成一个 jar 包,直接用命令行启动即可。
8.2、引入打包插件
注意:添加 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
8.3.2、第二步package
注意:在打包时可能会报错:
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、打包成功
8.4、启动运行
8.4.1、常规启动
启动 jar 包的命令格式为:java -jar <jar文件名>
java -jar springboot_application-1.0-SNAPSHOT.jar
8.4.2、高级启动
spring boot 的 jar 包,可以在启动时动态指定配置参数;
其命令格式为:java -jar [-D<name>=<value>] [-D<name>=<value>] <jar文件名>
java -jar -Dserver.port=8888 -Dspring.profiles.active=prod springboot_application-1.0-SNAPSHOT.jar
8、SpringBoot2之打包及运行的更多相关文章
- maven打包 tomcat运行pom配置 或 打成jar包
maven打包 tomcat运行pom配置,同时还需要配置org.apache.tomcat.maven插件,这里省略. <groupId>com.company</groupId& ...
- spring boot maven打包可运行jar包
普通打包之后在程序目录运行,或者编写bat运行时会提示“没有主清单属性”,这是因为并没有找到main()方法,需要我们指明告诉java程序 我bat中的代码 @echo off title mytit ...
- idea在maven打包时运行Test测试, 导致打包失败, 乱七八糟的错误
在maven打包时运行Test测试, 导致打包失败, 乱七八糟的错误 在maven projects中图标toggle'skip Tests' Mode //宏杰帮助 网上案例:https://blo ...
- Ant打包可运行的Jar包(加入第三方jar包)
本章介绍使用ant打包可运行的Jar包. 打包jar包最大的问题在于如何加入第三方jar包使得jar文件可以直接运行.以下用一个实例程序进行说明. 程序结构: 关键代码: package com.al ...
- 关于 maven 打包直接运行的 fat jar (uber jar) 时需要包含本地文件系统第三方 jar 文件的问题
关于maven打包fat jar (uber jar) 时需要包含本地文件系统第三方jar文件的问题,今天折腾了一整天.最后还是用了spring boot来做.下面是几篇关于打包的有参考价值的文章,以 ...
- vue打包后运行在本地/非服务器端环境的访问路径
vue打包前的配置: 项目目录下--> config文件夹---> index.js: build: { assetsPublickPath: './', // 设置成相对路径 ...
- springboot 极简使用例子: redis,MySql数据库,日志,netty,打包和运行
配置 创建项目的时候选择 application.yml内容如下 spring: redis: host: 127.0.0.1 port: 6379 database: 0 datasource: d ...
- 使用Maven打包可运行jar和javaagent.jar的区别
简介 javaagent 是 Java1.5 之后引入的新特性,其主要作用是在class被加载之前对其拦截,以插入我们的字节码. java1.5 之前使用的是JVMTI(jvm tool interf ...
- python 脚本中使用了第三方openpyxl 打包程序运行提示ImportError:cannot import name __version__
最近写了一个脚本,脚本中使用了第三方openpyxl(openpyxl是使用 pip install openpyxl 下载的),先是使用py2exe打包程序,打包过程中提示很多文件没有包含,在没有仔 ...
- 解决Pyqt打包后运行报错:应用程序无法启动 因为程序的并行配置不正确
做了一个生成二维码的小程序:http://www.cnblogs.com/dcb3688/p/4241048.html 直接运行脚本没问题,用pyinstaller打包后再运行就直接报错了: 应用程序 ...
随机推荐
- 基本定时器TIM6实现精确延时
1.基本定时器的特点 (1).16位自动重装载累加计数器 (2).16位可编程(可实时修改)预分频器,用于对输入的时钟按系数为1-65536之间的任意数值 !!!注意基本定时器只有向上计数模式,不要被 ...
- SQL必知必会(第5版) 读书笔记
适用范围 本书涵盖的DBMS一般来说,本书中所讲授的SQL可以应用到任何数据库管理系统(DBMS).但是,各种SQL实现不尽相同,本书介绍的SQL主要适用于以下系统(需要时会给出特殊说明和注释): ❑ ...
- 算法金 | 10 大必知的自动化机器学习库(Python)
大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣] 一.入门级自动化机器学习库 1.1 Auto-Sklearn 简介: Auto-Skl ...
- echarts做折线图
先给大家看图 父组件 <el-container v-show="abscissa"> <lineEchart :C ...
- Node安装mongodb
Node操作mongodb Mongoose介绍 网址:http://www.mongoosejs.net/docs/index.html mongoose是Node环境下异步操作mongodb数据库 ...
- 如何使用 Dump 文件?
引言 本文概述了使用 WinDbg 的一些必要步骤. 准备工作 第一步,你必须更改系统的配置使其能够生成 PDB 文件,包括 Release 版本.近期的 Visual C++ 编译器默认启用此配置, ...
- 聊一聊 Monitor.Wait 和 Pluse 的底层玩法
一:背景 1. 讲故事 在dump分析的过程中经常会看到很多线程卡在Monitor.Wait方法上,曾经也有不少人问我为什么用 !syncblk 看不到 Monitor.Wait 上的锁信息,刚好昨天 ...
- 如何在 VSCode 中配置和编写 LINGO
目录 如何在 VSCode 中配置和编写 LINGO 安装 VSCode 扩展 LINGO 脚本文件与 runlingo 命令 LINGO 命令行交互和脚本文件 配置 Visual Stdio Cod ...
- 上交大开源镜像站下架 Docker Hub 镜像
在现代软件开发中,Docker镜像已经成为不可或缺的工具.然而,最近频频出现的Docker镜像下架事件让许多开发者措手不及.突然失去依赖的镜像,不仅打乱了项目进程,还引发了许多不便.那么,面对Do ...
- QT学习:01 工程文件详解
--- title: framework-cpp-qt-01-工程文件详解 EntryName: framework-cpp-qt-01-project-file date: 2020-04-08 1 ...