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打包后再运行就直接报错了: 应用程序 ...
随机推荐
- c#笔记(3) 委托回调
委托回调是刚接触c#时最头疼的东西,老看老忘,遂整理一下现在对委托回调的理解.如有错误,请指出,感谢. 委托 C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针.委托是存有对某个方 ...
- RHEL9破解root密码
使用rhel8版本的破解方法破解rhel9版本root密码时候,出现问题 在内核参数重置页面输了rd.break后,要么ctrl+d 要么输密码 rhel9破解root密码,应该选择的内核模式为第二行 ...
- NaN数值类型
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- cookie cookie的获取
什么是 cookie cookie 是 浏览器 的 一种功能 是 浏览器 用来 存储 前端数据的一种 存储机制 ...
- MFC 好像不太智能
我的想法就是这个MFC可能十靠鼠标和点击啥的偏主力 自己配消息处理函数容易出错,一旦代码坏了,不可逆向寻找失去的代码 多以能用鼠标设计的尽量用用编译器提供的界面去设计 当然啊这个API还是要自己找 这 ...
- 鸿蒙HarmonyOS实战-窗口管理
前言 窗口管理是指计算机操作系统中管理和控制窗口的一种机制.窗口管理器负责处理窗口的创建.关闭.移动.调整大小等操作,并且决定窗口的位置.层级.是否可见.是否接收用户输入等属性.窗口管理器还负责绘制窗 ...
- php des加密用java解析不了 改个模式 加个IV php密钥/IV要求都是8位
php des加密用java解析不了 改个模式 加个IV php密钥/IV要求都是8位 php des加密用java解析不了 Wrong IV length: must be 8 bytes lon ...
- 父类和子类对象的获取值的方式验证,通过父类属性的方式获取不到值,需要使用get方法
父类和子类对象的获取值的方式验证,通过父类属性的方式获取不到值,需要使用get方法 静态属性通过类.属性的方式获取,对象获取使用get方法获取 package com.example.core.myd ...
- 一款.NET开源的i茅台自动预约小助手
前言 今天大姚给大家分享一款.NET开源.基于WPF实现的i茅台APP接口自动化每日自动预约(抢茅台)小助手:HyggeImaotai. 项目介绍 该项目通过接口自动化模拟i茅台APP实现每日自动预约 ...
- k8s实战 ---- pod 基础
如果你对k8s还不了解,可以看下前文 k8s 实战 1 ---- 初识 (https://www.cnblogs.com/jilodream/p/18245222) 什么是pod,pod在 ...