纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

SpringBoot启动指定profile SpringBoot启动指定profile的多种方式

Apple_Web   2021-09-14 我要评论
想了解SpringBoot启动指定profile的多种方式的相关内容吗,Apple_Web在本文为您仔细讲解SpringBoot启动指定profile的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:SpringBoot启动指定profile,SpringBoot,profile启动,下面大家一起来学习吧。

配置文件中设置

通常在公司级别的项目中,我们可能会写多个application- dev/prod.yml ,然后我们通常会在application.yml配置文件中写入

spring:
  profiles:
    active: dev

这里会指定激活的profile是application- dev.yml

注意:application.yml中类似Java中的父类,其他application- dev/prod.yml会继承这个文件,可以进行重写,没有进行重写的属性我们也是能直接读取的,比如application.yml定义了一个my.name属性,然后我们激活的是application- dev.yml,但是我们并没有在文件中定义这个属性,我们在程序中还是能够读取的,这里可以和Java的父子类继承重写对比

my:
  name: apple

注意这里可能会涉及到springboot读取配置文件的优先级问题,可参考文章:SpringBoot - 配置文件加载位置与优先级

命令行设置

1、Maven启动指定Profile通过-P,如mvn spring-boot:run -Ptest,但这是Maven的Profile。

2、如果要指定spring-boot的spring.profiles.active,则必须使用mvn spring-boot:run -Drun.profiles=test

3、如果使用命令行直接运行jar文件,则使用java -jar -Dspring.profiles.active=test demo-0.0.1-SNAPSHOT.jar

4、如果使用开发工具,运行Application.java文件启动,则增加参数--spring.profiles.active=test

IDEA中设置

1、program arguments程序参数

在Run/Debug Configurations中配置-Dspring.profiles.active=dev 优先级比配置文件高

image-20210911165240668

2、VM options虚拟机参数

在Run/Debug Configurations中配置-Dspring.profiles.active=dev 优先级比配置文件高

image-20210911165547068

3、Active profiles 参数

指定dev即可

image-20210911165736398

遇到的问题

在公司项目中,我下载了一个其他环境的application-ft3.yml,但是没有放入resources文件夹下面,是通过IDEA中Run/Debug Configurations中配置读取我自己在外部的路径,但是由于我这个配置文件中有配置另外一个resources下面的i18n配置文件,程序中也要读取这个i18n下面的文件,我这个application-ft3.yml的文件路径和i18n下面的文件的相对路径就对不上了,导致读取为空!!!

image-20210911170818176

image-20210911171125511

解决办法: 将这个application-ft3.yml放入resources目录下即可解决!所以为了避免出现类似问题,我还是推荐把配置文件放入resource下面!!!

参考文章:

https://blog.csdn.net/weixin_40317062/article/details/82194191

https://www.huaweicloud.com/articles/81095cfdb86cd1a3a46241bc69ae1d55.html

Java启动参数的相关问题可以参考:

https:


相关文章

猜您喜欢

  • Java Broadcast State Java 数据流之Broadcast State

    想了解Java 数据流之Broadcast State的相关内容吗,Vicky_Tang在本文为您仔细讲解Java Broadcast State的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Java,Broadcast,State,Java,数据流,下面大家一起来学习吧。..
  • js圆盘时钟 js实现简单圆盘时钟

    想了解js实现简单圆盘时钟的相关内容吗,山与小岛在本文为您仔细讲解js圆盘时钟的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:js,时钟,下面大家一起来学习吧。..

网友评论

Copyright 2020 www.hris-software.net 【幸运软件站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式