服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java SpringBoot启动指定profile的8种方式详解

Java SpringBoot启动指定profile的8种方式详解

2021-12-31 10:54Apple_Web Java教程

这篇文章主要介绍了spring boot 如何指定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 优先级比配置文件高

Java SpringBoot启动指定profile的8种方式详解

 

2、VM options虚拟机参数

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

Java SpringBoot启动指定profile的8种方式详解

 

3、Active profiles 参数

指定dev即可

Java SpringBoot启动指定profile的8种方式详解

 

遇到的问题

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

Java SpringBoot启动指定profile的8种方式详解

Java SpringBoot启动指定profile的8种方式详解

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

 

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!

原文链接:https://blog.csdn.net/belongtocode/article/details/120240527

延伸 · 阅读

精彩推荐
  • Java教程Java日常练习题,每天进步一点点(33)

    Java日常练习题,每天进步一点点(33)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以...

    牛哄哄的柯南4602021-10-22
  • Java教程Spring中单例和多例的深入理解

    Spring中单例和多例的深入理解

    这篇文章主要介绍了Spring中单例和多例的深入理解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    tanwenfang5632021-11-04
  • Java教程java调用shell命令并获取执行结果的示例

    java调用shell命令并获取执行结果的示例

    今天小编就为大家分享一篇java调用shell命令并获取执行结果的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    arkblue9762021-05-17
  • Java教程java实现抽奖功能解析

    java实现抽奖功能解析

    这篇文章主要为大家详细介绍了java实现抽奖功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    秀发如云7392021-08-24
  • Java教程Java按值传递和按址传递(面试常见)

    Java按值传递和按址传递(面试常见)

    这篇文章主要介绍了Java按值传递和按址传递(面试常见)知识,在面试笔试题中经常会遇到,今天小编给大家详细介绍下,需要的朋友可以参考下...

    阿飞-Sunday4712020-08-13
  • Java教程Java枚举的使用方法详解

    Java枚举的使用方法详解

    这篇文章主要介绍了 Java枚举的使用方法详解的相关资料,希望通过本文大家能掌握枚举的使用方法,需要的朋友可以参考下...

    SexyCode7762020-12-30
  • Java教程Java创建删除文件和目录的方法(推荐)

    Java创建删除文件和目录的方法(推荐)

    这篇文章主要介绍了java创建删除文件和目录的方法,创建和删除文件目录常用的是file类的方法,具体内容详情大家参考下本文...

    liruli8812021-04-25
  • Java教程Javaweb获取表单数据的多种方式

    Javaweb获取表单数据的多种方式

    这篇文章主要为大家详细介绍了Javaweb获取表单数据的多种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    张行之5372020-08-22