SpringBoot05 —— 程序运行相关

概述:SpringBoot框架中程序的打包与运行,高级配置相关,多环境开发,日志

程序的打包与运行

为什么要打包?

实际开发完成后,我们的项目是不可能运行在自己的电脑上的。

我们以后制作的程序是运行在专用的服务器上的,这就要将我们的程序先组织成一个文件,然后将这个文件传输到这台服务器上。这里面就存在两个过程,一个是打包的过程,另一个是运行的过程。

程序打包

SpringBoot程序是基于Maven创建的,在Maven中提供有打包的指令,叫做package。本操作可以在Idea环境下执行。(注意打包应该把test部分排除)

1
mvn package

打包后会产生一个与工程名类似的jar文件,其名称是由模块名+版本号+.jar组成的。

程序运行

程序包打好以后,就可以直接执行了。在程序包所在路径下,执行指令。

1
java -jar 工程包名.jar

执行程序打包指令后,程序正常运行,与在Idea下执行程序没有区别。

特别关注

  • 如果你的计算机中没有安装java的jdk环境,是无法正确执行上述操作的,因为程序执行使用的是java指令。
  • 在使用向导创建SpringBoot工程时,pom.xml文件中会有如下配置,这一段配置千万不能删除,否则打包后无法正常执行程序。
1
2
3
4
5
6
7
8
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

总结

  • SpringBoot工程可以基于java环境下独立运行jar文件启动服务
  • SpringBoot工程执行mvn命令package进行打包
  • 执行jar命令:java –jar 工程名.jar

程序的打包与运行(Linux版本)

  • 基于Linux(CenterOS7)
  • 安装JDK,且版本不低于打包时使用的JDK版本
  • 安装包保存在/usr/local/自定义目录中或$HOME下
  • 其他操作参照Windows版进行

配置高级

临时属性设置

我们的程序包打好了,可以发布了。但是程序包打好以后,里面的配置都已经是固定的了,比如配置了服务器的端口是8080。如果我要启动项目,发现当前我的服务器上已经有应用启动起来并且占用了8080端口,此时就需要临时设置端口数形。

SpringBoot提供了灵活的配置方式,如果你发现你的项目中有个别属性需要重新配置,可以使用临时属性的方式快速修改某些配置。方法也特别简单,在启动的时候添加上对应参数就可以了。

1
java –jar springboot.jar --server.port=80

上面的命令是启动SpringBoot程序包的命令,在命令输入完毕后,空一格,然后输入两个-号。下面按照属性名=属性值的形式添加对应参数就可以了。

注意这里的格式不是yaml中的书写格式,当属性存在多级名称时,中间使用点分隔,和properties文件中的属性格式完全相同。

如果你发现要修改的属性不止一个,可以按照上述格式继续写,属性与属性之间使用空格分隔。

1
java –jar springboot.jar –-server.port=80 --logging.level.root=debug

现在我们的程序配置受配置文件和临时属性共同控制。并且我们发现临时属性的加载优先级要高于配置文件的。

那是否还有其他的配置方式呢?其实是有的,打开官方文档中对应的内容,就可以查看配置读取的优先顺序。地址

总结

  • 使用jar命令启动SpringBoot工程时可以使用临时属性替换配置文件中的属性
  • 临时属性添加方式:java –jar 工程名.jar –-属性名=值
  • 多个临时属性之间使用空格分隔
  • 临时属性必须是当前boot工程支持的属性,否则设置无效

配置文件分配

自定义配置文件

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2022 ZHU
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信