maven的profile功能

机器人C++开源库The Robotics Library (RL)使用手册(三) 进入VS工程,我们先看看这些功能函数及其依赖库的分布关系:rl命名空间下,主要有八大模块。搞定VS后将逐个拆解。 阅读详情

一个项目可能会有不同的环境,例如dev/stating/prod等,不同的环境的配置文件是不同的,如何根据环境快速的切换到对应的配置文件很重要。

在maven和 spring中都有一个profile的概念,下面分别说

1. 在maven中的pom文件中的profile的作用是根据不同的环境将对应的环境变量设置到项目中,如下例子

步骤一:在pom文件中写profile

<profiles>
    <profile>
        <!-- 本地开发环境 -->
        <id>dev</id>
        <properties>
            <profiles.active>dev</profiles.active>
        </properties>
        <activation>
            <!-- 设置默认激活这个配置 -->
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <!-- 发布环境 -->
        <id>release</id>
        <properties>
            <profiles.active>release</profiles.active>
        </properties>
    </profile>
    <profile>
        <!-- 测试环境 -->
        <id>beta</id>
        <properties>
            <profiles.active>beta</profiles.active>
        </properties>
    </profile>
</profiles>

步骤二:设置 resources的位置和filtering为true

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

filtering属性为true时,主要用来替换项目中资源文件(.xml、.properties)当中由 ${...} 标记的变量

步骤三:激活profile

以下两种方式可以激活:

      a. mvn package时使用-P参数来指定profile,例如mvn package -P dev,这样就会把dev 这个profile中的变量设置到项目对应的变量里面,通常是通过${}和@@来注入属性

      b.在对应的profile标签里面写入如下标签,代表默认激活的profile  <activeByDefault>true</activeByDefault> 

 

2. spring中的profile

Spring中有个注解叫做@Profile("dev"),这个注解只有在对应的profile激活才能使用,这个profile和上面的maven中的没关系,可以通过如下方式激活

一、启动Java应用时,通过-D传入系统参数

  1. -Dspring.profiles.active=dev  

二、如果是web环境,可以通过上下文初始化参数设置

  1. <context-param>  
  2.     <param-name>spring.profiles.active</param-name>  
  3.     <param-value>dev</param-value>  
  4. </context-param>  

三 、通过自定义添加PropertySource

  1. Map<String, Object> map = new HashMap<String, Object>();  
  2. map.put("spring.profiles.active", "dev");  
  3. MapPropertySource propertySource = new MapPropertySource("map", map);  
  4. env.getPropertySources().addFirst(propertySource);  

四、直接设置Profile

  1. env.setActiveProfiles("dev", "test"); 

四、通过操作系统的环境变量来激活

  1. 在Spring Boot项目中,如果事先在OS环境变量中定义了“SPRING_PROFILES_ACTIVE”,则会采用此处定义的配置文件

以上方式都可以设置多个profile,多个之间通过如逗号/分号等分隔。  

详解电路设计中的RC电路 ​ 一、什么是RC电路 RC电路是指由电阻R和电容C组成的电路,它是脉冲产生和整形电路中常用到 的电路。 常见的RC充、放电电路、RC积分电路合RC微分电路接下来详细讲解。 二、RC充、放电电路 RC充、放电电路如下图所示,下面通过充电和放电两个过程来分析此电路。 ​RC充、放电电路图 (1)RC充电电路 RC充电电路图如下图(a)所示 RC充电电路图及充电曲线图 ​由上图分析: 将上图a中开关S置于“1”处,电源E开始通过电阻R对电容C充电,由于刚开始充电时电容两端没有.. 阅读详情

相关推荐

SAP MM自动化进阶:STO交货单自动创建的配置与优化

本文深入解析了SAP MM模块中实现公司间库存调拨订单(STO)交货单自动创建的完整配置流程与优化策略。通过激活自动交货与绑定发货点两大核心配置,打通自动化链路。重点探讨了如何集成ATP可用性检查以智能处理库存不足等异常场景,确保自动化流程的可靠性与业务贴合度,并提供了进阶监控与问题排查方法,助力企业显著提升供应链效率。

weixin_29206669的博客 124

pom通过profile设置打包运行环境

pom通过profile设置打包运行环境

ZHANGLIZENG的博客 5662

LCD工程师必看:Pixelclock、Mipi Clk计算全解析(附实用公式)

本文为LCD工程师详细解析了像素时钟(Pixelclock)与MIPI时钟(Mipi Clk)的核心计算方法。文章从时序参数构成入手,通过实战公式推导,系统阐述了从屏幕分辨率、刷新率到最终MIPI速率的高效计算链路,并提供了实用的调试思路与排查清单,帮助工程师快速解决画面撕裂、闪烁等常见问题。

weixin_29266679的博客 388

maven中Profiles的配置及作用

Maven中的profile能让你为不同的环境定义不同的构建;包括本地开发环境,联调环境,灰度环境这三个环境。可以用如下的标签配置在pom.xml文件中。Maven中的profile是一组可选的配置,可以用来设置或者覆盖配置默认值。可以选择配置的标签有。配置完成后,可以在intellij idea的右侧出现了Profiles。

franktangfan的博客 1万+

【实战揭秘】高胜率集合竞价抓涨停策略:融合MACD背离与斐波那契的量化模型

本文揭秘了一种高胜率集合竞价抓涨停策略,融合MACD背离与斐波那契数列的量化模型。通过量能异动、技术形态突破和资金共识形成的交叉验证,该策略在实盘中表现出色。文章详细解析了MACD背离的量化实现细节、斐波那契数列的实战应用,以及策略的量化建模过程,帮助投资者提升交易胜率。

herb5的博客 1557

贝加莱Automation Studio 4.10安装保姆级教程:从官网下载到解决.Net 3.5报错

本文提供贝加莱Automation Studio 4.10的详细安装教程,涵盖从官网下载到解决.Net 3.5报错的全过程。特别针对工业自动化开发环境中常见的.Net Framework 3.5安装问题,提供多种经过验证的解决方案,包括控制面板安装、DISM命令离线安装和手动下载安装包等方法,帮助工程师顺利完成PLC开发环境的搭建。

weixin_30955617的博客 712

Maven中的profiles有什么用途?

你可以在pom.xml文件中定义 profiles。每个 profile 可以包含属性、依赖、插件和其他配置。Maven 的 profiles 提供了一种强大的机制来管理多环境配置。通过定义和激活 profiles,你可以在不同的环境中使用不同的配置,而无需修改核心的pom.xml文件。这不仅提高了项目的灵活性,还简化了多环境配置的管理。主要用途包括多环境配置、条件配置、资源过滤、依赖管理和插件配置。

qq_33240556的博客 1736

新能源知识库(37)三代储能电芯介绍

2025年储能电芯三代技术演进概述 截至2025年6月,储能电芯已明确划分为三代: 第一代(280Ah):2019-2023年主流,能量密度180Wh/kg,循环寿命8000次,成本降至0.6元/Wh; 第二代(314Ah):2023年起主导,容量超1kWh,能量密度提升20%,循环寿命达15000次,系统成本降低15%; 第三代(500Ah+):2024年量产,能量密度突破440Wh/L(如宁德时代587Ah、阳光电源684Ah),20尺集装箱容量达6-9MWh,零部件成本降30%。 技术路线分化:卷绕派

竹君子之家 7907

Maven中<profiles>与<profile>标签详解及案例测试

首先我们知道,pom中可以使用诸如<properties>、<dependencies>、<build>来定义项目所需要的属性、依赖、构建设置。

qq_41717518的博客 5538

YOLOv8+BiFPN双向特征金字塔:多尺度目标检测精度提升28%的实战教程

双向特征金字塔网络(BiFPN)是一种强化多尺度特征融合支持“自顶向下+自底向上”的双向特征流动,同时保留不同尺度的细节信息;引入加权融合机制,自动学习不同特征的重要性权重;裁剪冗余节点,在轻量化的同时提升融合效率。

m0_64661770的博客 492

Linux 下 OpenClaw 安装全记录:从零到一的保姆级图文教程

本文主要介绍了Linux 下 OpenClaw 安装全记录:从零到一的保姆级图文教程,希望能对学习使用OpenClaw 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 步骤一 安装Node.js 2.2 步骤二:安装git 2.3 步骤三:安装并配置OpenClaw 2.4 步骤四:配置OpenClaw 2.5 步骤五:配置模型 2.6 步骤六:对话 3. 后续使用步骤 4. 报错解决方案 5. OpenClaw的卸载

weixin_43178406的博客 10万+

pom中的profiles标签简单解读

【代码】pom中的profiles标签简单解读。

qq_41551345的博客 1926

把外部系统一键装进 SAP Build Work Zone:从零开始创建 HTML5 URL App

HTML5 URL App 是一种轻量级解决方案,可将外部网页或系统入口快速集成到SAP企业门户中。开发者只需在manifest.json中配置目标URL、导航模式等参数,无需开发完整前端应用。该方案利用SAP BTP的HTML5 Application Repository集中存储静态资源,通过HTML5 Apps Content Provider将应用暴露给子账号,最终在SAP Build Work Zone中以Fiori磁贴形式呈现。文章详细介绍了manifest.json的关键配置、三种基础设施组件

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 241

SpringBoot的profile功能和maven的profile功能结合使用

我的上一篇博客介绍了,如何使用maven在打包时切换多环境 Maven学习笔记(六)—— profiles多环境配置 随着springboot的火热,越来越多的项目像springboot靠拢,这篇也介绍一下,利用springboot的profile功能和maven的profile功能结合使用达到打包时切换多环境 不需要在pom.xml中定义<resources> 直接在在app...

shijiujiu33的博客 755

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

集成maven和Spring boot的profile功能

思路:maven支持profile功能,当使用maven profile打包时,可以打包指定目录和指定文件,且可以修改文件中的变量。spring boot也支持profile功能,只要在application.properties文件中指定spring.profiles.active=xxx 即可,其中xxx是一个变量,当maven打包时,修改这个变量即可。 1。配置maven 的pro...

WGH100817的博客 182

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SpringBoot如何集成Maven的profile功能

什么是profile 开发项目的时候要有多个环境,如开发环境、测试环境、生产环境,他们的配置文件一般不同。当我们要向各个环境发布程序时,需要人工处理这些配置文件,这显然麻烦且易错。有了profile,一切问题就简单了。只要在maven打包时使用下面命令即可。 mvn clean package -Dmaven.test.skip=true -P prod -P prod 就是告诉mav...

石头视角 496

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

记录生产部署 - 集成maven、spring boot的profile功能

开发环境、生产环境配置肯定要变的,这就要定义两套profile。下面记录两套profile如何在不同环境下生效,通过maven、spring boot集成。

LawssssCat的博客 447

004-集成maven和Spring boot的profile功能打包

参考地址:https://blog.youkuaiyun.com/lihe2008125/article/details/50443491 一、主要目标   1、通过mvn在命令行中打包时,可以指定相应的profile。   2、需使用了maven的profile功能   3、使用了Spring Boot的profile功能 二、profile简介   什么是profile,解决什么问题...

dilv4062的博客 148

Maven与Spring Boot的profile功能集成

profile是什么?为什么需要profile? 在实际的项目开发中,我们往往需要根据不同的环境进行打包资源,比如打测试环境的包时需要加入测试环境的配置文件,比如数据库的连接信息等等,打生产环境的包时,需要将生产环境的配置文件打进包内。我们可以人工来处理这些配置文件,比如测试环境和生产环境公用一个数据库连接信息配置文件,那么在打两种环境的包时,就必须手动更改数据库连接信息,想想也是够了,超级麻烦,

爱编程的小学生 1590

[Spring Boot 系列] 集成maven和Spring boot的profile功能

由于项目的需要, 今天给spirng boot项目添加了profile功能。再网上搜索了一圈,也没有找到满意的参考资料。所有有了写这篇博客的想法。由于本人水平有限,文中有任何错误和纰漏欢迎大家反馈。     本文想实现的目标:            1 在eclipse中运行mvn工程,使用开发环境的profile。            2 通过mvn在命令行中打包时,可以指定相应的pro

Alf的专栏 6万+

maven中profile的妙用(配合idea的功能灵活切换运行、编译、打包)

profiles>环境特定的依赖:为不同环境添加特定的依赖。环境特定的资源文件:为不同环境指定特定的资源文件。环境特定的属性:为不同环境定义特定的属性。环境特定的插件配置:为不同环境配置特定的插件。环境特定的构建目标:为不同环境定义特定的构建目标。环境特定的激活条件:通过环境变量、系统属性或文件存在性来激活特定的<profile>。环境特定的报告:为不同环境生成特定的报告。通过合理使用<profiles>,你可以使你的构建过程更加灵活和高效。在 Maven 中,<profiles>

weixin_50912424的博客 902

Spring Boot 集成maven和Spring boot的profile功能

由于项目的需要, 今天给spirng boot项目添加了profile功能。再网上搜索了一圈,也没有找到满意的参考资料,其实配置并不难,就是没有一个one stop(一站式)讲解的地方,所以有了写这篇博客的想法。由于本人水平有限,文中任何错误和纰漏欢迎大家反馈。希望本文可以给你带来帮助。     本文实现的目标:            1 使用了maven的profile功能        ...

HiBoyljw的博客 298
上一篇: jvm监控
下一篇: 转:TCP简介
转的你死
博客等级 码龄15年 2粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值