You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从命令行获取运行中SpringBoot应用的激活配置文件

获取运行中SpringBoot应用的激活配置文件方法

方法一:通过jcmd调用SpringBoot MBean

  1. 先获取目标应用的进程ID(PID),可以用jps或jcmd命令列出所有Java进程:
    jps
    
  2. 执行jcmd命令调用SpringBoot内置的Admin MBean获取激活配置文件:
    jcmd <PID> com.sun.management.MBeanServerInvocationHandler invoke org.springframework.boot:type=Admin,name=SpringApplication getProperty spring.profiles.active
    
    执行后会直接返回当前激活的配置文件名称(比如prod,dev)。

方法二:通过jinfo查看系统属性

如果应用启动时通过-Dspring.profiles.active=xxx指定了配置文件,或者SpringBoot自动将激活配置文件写入了系统属性,可以用jinfo查询:

jinfo -sysprops <PID> | grep spring.profiles.active

输出会类似spring.profiles.active=prod。

方法三:通过Spring Boot Actuator端点(需提前开启)

如果应用已经启用了Spring Boot Actuator的/env端点,直接用curl请求即可:

curl http://<应用地址>:<端口>/actuator/env/spring.profiles.active

注意:需要确保Actuator的访问权限配置正确,比如允许未认证访问(生产环境不建议),或者携带认证信息。

补充:关于jcmd的使用误区

你之前用jcmd没找到相关属性,可能是没用到SpringBoot专属的MBean调用命令。默认的jcmd命令(比如jcmd <PID> VM.system_properties)只会输出JVM层面的系统属性,如果激活配置文件不是通过-D参数传入的,可能不会在这里显示,这时候就需要用上面的MBean调用方法。

内容的提问来源于stack exchange,提问作者WesAtWork

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 17:05:31