能否在pom.xml中获取当前激活的Maven profile?
Maven获取当前激活profile的方法
Maven没有提供${project.profile.id}这类内置属性直接读取激活的profile ID,可通过以下方式实现需求:
- 方法1:profile内自定义绑定属性(最常用)
每个profile内部定义同名的自定义属性,绑定当前profile的ID即可,配置示例如下:
<profiles> <!-- 生产环境profile --> <profile> <id>PRO</id> <properties> <!-- 自定义属性存储当前profile ID --> <active.profile.id>PRO</active.profile.id> </properties> </profile> <!-- 开发环境profile --> <profile> <id>DEV</id> <properties> <active.profile.id>DEV</active.profile.id> </properties> </profile> </profiles>
配置完成后,你就可以在pom文件的任意位置通过${active.profile.id}引用到当前激活的profile ID,完全匹配你提到的使用场景。
- 方法2:命令行查看当前激活的所有profile
如果只是需要确认本次构建激活的profile列表,直接执行以下命令即可:mvn help:active-profiles
注意:如果一次构建同时激活多个profile,自定义属性会被后激活的profile覆盖,多profile激活场景下请提前规划好属性优先级。
内容的提问来源于stack exchange,提问作者juanmorschrott
相关产品推荐
相关产品推荐

