0

0

springboot启动时怎么指定spring.profiles.active

王林

王林

发布时间:2023-05-12 22:49:04

|

4939人浏览过

|

来源于亿速云

转载

    springboot启动指定spring.profiles.active

    maven启动指定profile通过-p,

    如mvn spring-boot:run -Ptest

    但这是Maven的Profile。

    如果要指定spring-boot的spring.profiles.active,

    • spring-boot 1.x 使用mvn spring-boot:run -Drun.profiles=test,

    • spring-boot 2.x 使用mvn spring-boot:run -Dspring-boot.run.profiles=test。

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

    如果使用开发工具,运行Application.java文件启动,

    则增加参数- -spring.profiles.active=test

    同时要注意启动不生效的问题:

    在linux centos 7 系统,发布jar包

    nohup java -Xmx256m -jar xxxx --spring.profiles.active=prod &

    每次启动都是启动的是测试环境

    最后各种排查,最终发现了,启动类没有传入参数 args

    springboot启动时怎么指定spring.profiles.active

    SpringBoot激活profiles你知道几种方式

    多环境是最常见的配置隔离方式之一,可以根据不同的运行环境提供不同的配置信息来应对不同的业务场景,在SpringBoot内支持了多种配置隔离的方式,可以激活单个或者多个配置文件。

    激活Profiles的方式

    激活的profiles要在项目内创建对应的配置文件,格式为application-{profile}.yml。

    1、命令行方式

    命令行方式是一种外部配置的方式,在执行java -jar命令时可以通过–spring.profiles.active=test的方式进行激活指定的profiles列表。

    使用方式如下所示:

    java -jar order-service-v1.0.jar --spring.profiles.active=dev &> order-service.log &

    系统变量方式

    1、Mac/Linux系统配置环境变量

    AI改图神器
    AI改图神器

    AI万能图片编辑器,一键抠图,去水印,智能图片美化,照片转漫画,照片变活转视频,图片无损放大,一键背景虚化,位图智能转矢量图

    下载

    编辑环境变量配置文件/etc/profile,添加名为SPRING_PROFILES_ACTIVE的环境变量,如下所示:

    spring 环境激活 

    export SPRING_PROFILES_ACTIVE=dev

    2、Windows系统配置环境变量

    环境变量的配置方式请参考Java环境变量配置,新建一个名为SPRING_PROFILES_ACTIVE的系统环境变量,设置变量的值为dev即可。

    系统变量的方式适用于系统下所部署统一环境的SpringBoot应用程序,如统一部署的都是prod环境的应用程序。

    Java系统属性方式

    Java系统属性方式也是一种外部配置的方式,在执行java -jar命令时可以通过-Dspring.profiles.active=test的方式进行激活指定的profiles列表。

    使用方式如下所示: 

    java -Dspring.profiles.active=dev -jar order-service-v1.0.jar &> order-service.log &

    注意:-D方式设置Java系统属性要在-jar前定义。

    配置文件方式

    配置文件方式是最常用的方式,不过灵活性不强,局限性比较大,不建议使用这种方式来激活配置文件。

    我们只需要在application.yml配置文件添加配置即可,使用方式如下所示:

    spring:
      profiles:
        # 激活profiles
        active: dev

    优先级

    命令行方式 > Java系统属性方式 > 系统变量方式 > 配置文件方式

    经过测试命令行方式的优先级最高,而内部配置文件方式则是最低的。

    激活多个profile

    如果需要激活多个profile可以使用逗号隔开,如:- -spring.profiles.active=dev,test

    敲黑板划重点

    每一个应用项目都会用到大量的配置文件或者外部配置中心,而配置信息的激活是必不可少的一步,尤为重要。

    建议大家使用系统环境变量的方式来激活指定profile的配置,这种方式比较简单,系统全局都可以使用(注意:系统全局代表着该系统下所运行的全部SpringBoot应用都会采用该配置),当然也可以采用优先级替换的规则进行单独指定。

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    WorkBuddy
    WorkBuddy

    腾讯云推出的AI原生桌面智能体工作台

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建
    Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建

    本指南详解Nginx在Windows、macOS及Linux系统的安装全流程。涵盖官方包解压、Homebrew一键部署、APT/YUM源配置及Docker容器化方案。无论新手或开发者,均可快速搭建运行环境,掌握跨平台核心指令,为后续配置与调优奠定坚实基础。

    9

    2026.03.16

    chatgpt使用指南
    chatgpt使用指南

    本专题整合了chatgpt使用教程、新手使用说明等等相关内容,阅读专题下面的文章了解更多详细内容。

    22

    2026.03.16

    chatgpt官网入口地址合集
    chatgpt官网入口地址合集

    本专题整合了chatgpt官网入口地址、使用教程等内容,阅读专题下面的文章了解更多详细内容。

    52

    2026.03.16

    minimax入口地址汇总
    minimax入口地址汇总

    本专题整合了minimax相关入口合集,阅读专题下面的文章了解更多详细地址。

    21

    2026.03.16

    C++多线程并发控制与线程安全设计实践
    C++多线程并发控制与线程安全设计实践

    本专题围绕 C++ 在高性能系统开发中的并发控制技术展开,系统讲解多线程编程模型与线程安全设计方法。内容包括互斥锁、读写锁、条件变量、原子操作以及线程池实现机制,同时结合实际案例分析并发竞争、死锁避免与性能优化策略。通过实践讲解,帮助开发者掌握构建稳定高效并发系统的关键技术。

    10

    2026.03.16

    TypeScript类型系统进阶与大型前端项目实践
    TypeScript类型系统进阶与大型前端项目实践

    本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

    116

    2026.03.13

    Python异步编程与Asyncio高并发应用实践
    Python异步编程与Asyncio高并发应用实践

    本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

    142

    2026.03.12

    C# ASP.NET Core微服务架构与API网关实践
    C# ASP.NET Core微服务架构与API网关实践

    本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

    412

    2026.03.11

    Go高并发任务调度与Goroutine池化实践
    Go高并发任务调度与Goroutine池化实践

    本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

    65

    2026.03.10

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Redis6入门到精通超详细教程
    Redis6入门到精通超详细教程

    共47课时 | 5.7万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号