SpringBoot2实践系列(十四):配置文件profile属性和部署jar包

star2017 1年前 ⋅ 557 阅读

Spring Boot 创建时会生成默认的配置文件:application.properties,该文件中的配置优先级最高。
 
ProfileSpring为不同的环境来激活相应的的配置文件提供支持, profile 全局配置:application-{profile}.properties

profile

Spring Boot项目实际开发中常会用以下三个配置文件:

  1. 开发环境:application-dev.properties
  2. 生产环境:application-prod.properties
  3. 测试环境:application-test.properties

然后在application.properties中设置spring.profiles.active=profile来指定活动的Profile
如:spring.profiles.active=dev

配置示例

src/main/resources里创建profile配置文件。

  1. 开发环境:application-dev.properties: server.port=81
  2. 生产环境:application-prod.properties:server.port=82
  3. 运行:application.properties: spring.profiles.active=dev
    这里就启用了开发模式下的配置,服务器端口为81

jar包部署

Spring Boot除了在配置文件中指定参数外,还可以在启动时指定参数。

  1. 简单运行:

    java -jar my-springboot.jar
    
  2. 指定端口号:

    java -jar my-springboot.jar --server.port=9090
    
  3. 指定激活的配置文件:application-prod.properties

    java -jar my-springboot.jar --spring.profiles.active=prod
    
  4. Debug环境运行

    java -jar my-springboot.jar --debug
    

外置配置文件

Spring Boot 加载 application.properties 配置文件优先级:

  1. Jar 包当前目录下的 /config 目录
  2. Jar 包当前目录
  3. classpath 下的 /config 包目录
  4. classpath 目录

加载外部配置文

java -jar springboot-v1.0.jar --spring.config.location = classpath:/default.properties,classpath:/override.properties

java -jar my-springboot.jar --Dspring.config.location=/config/application.yml

Linux 后台运行jar

如果在 Linux 服务器上只用 java -jar xxx.jar 来过运行应用,当SSH终端关闭,程序也会退出运行;实际部署应用到 Linux 会让程序在后台运行,方法如下:

$ nohup java -jar test.jar &
nohup:不挂断地运行命令;&:在后台运行,这两个命令大我一起使用。
默认情况下日志输出被重定向到**nohup.out**文件中。

$ nohu java -jar myapp.jar > myapp_log.txt &
输入信息重定向到文件,

$ jobs
列出所有在后台执行作业的应用,每个作业前有个编号。
$ fg 编号,如:fg 1
是将该编号的作用调回到前台控制,但关闭前台终端则应用退出

参考资料

  1. Spring Boot加载配置文件
  2. Spring Boot配置文件放在jar外部
更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: