Maven Filtering和Profile

article/2025/8/25 16:19:37

Filtering

Filtering是resource插件的功能,作用是将资源文件中的占位符替换成对应的值,如下图所示:
在这里插入图片描述

使用注意

  1. 启用resource插件的filtering功能;
  2. 设定资源文件的路径、过滤条件和编码等等;
  3. 设定属性文件来源(POM定义属性和环境变量直接使用,外部属性文件通过标签指定);
    在这里插入图片描述

说明:maven-resources-plugin插件的copy-resources功能被绑定到validate阶段,即Lifecycle执行到validate时,资源被拷贝,占位符被替换;
在这里插入图片描述

Profile

作用:根据不同的条件激活不同的配置;
定义范围:Profile几乎可以定义所有在pom里的定义的内容如、和插件配置等等,如下所示:

<profile><id>dev</id><properties><active.profile>dev</active.profile><pom.jdbc.url>jdbc:mysql://127.0.0.1:3306/dev</pom.jdbc.url></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>3.2.4.RELEASE</version></dependency><dependencies></profile>

Profile生效范围

  1. 如果定义在settings.xml文件中,则是全局的,对所有的maven项目文件都生效;
  2. 如果定义在pom.xml文件中,则仅对当前项目生效;

Profile激活方式

  • -P参数
    通过maven 的-P参数激活指定的profile,参数的值是profile的id,多个profile以逗号分割,如果不想激活某个默认的profile,就在它的id前加个!,如下代码:
mvn -U clean package -Ptest,local,!ignore
  • <activation>
<profiles><profile><id>ide</id><activation><activeByDefault>true</activeByDefault></activation><properties><module>ide</module></properties></profile><profile><id>api</id><properties><module>api</module></properties></profile></profiles>

Filtering + Profile

思路: 在不同的profile里配置不同的属性(properties),然后激活相应的profile,用其中的属性去替换jdbc.properties里的占位符。
在这里插入图片描述

<project>
...
<build><filters><filter>src/main/filters-${active.profile}.properties</filter></filters><resources><resource><directory>src/main/resources</directory><filtering>true</filtering></resource></resources>
</build>
<profiles><profile><id>dev</id><properties><active.profile>dev</active.profile></properties><!-- 把当前profile设置为默认profile,可以同时这是多个为默认--><activation><activeByDefault>true</activeByDefault></activation></profile><profile><id>test</id><properties><active.profile>test</active.profile></properties></profile><profile><id>product</id><properties><active.profile>product</active.profile></properties></profile>
...
</project>

参考:

  1. https://maven.apache.org/plugins/maven-resources-plugin/copy-resources-mojo.html;
  2. https://segmentfault.com/a/1190000003908040;
  3. https://www.cnblogs.com/0201zcr/p/6262762.html;

http://chatgpt.dhexx.cn/article/l5FhhN9v.shtml

相关文章

Particle Filtering粒子滤波

粒子滤波理论 本文由最基础的贝叶斯估计开始介绍&#xff0c;再引出蒙特卡罗采样&#xff0c;重要性采样&#xff0c;SIS粒子滤波&#xff0c;重采样&#xff0c;基本粒子滤波Generic Particle Filter&#xff0c;SIR粒子滤波&#xff0c;这些概念的引进&#xff0c;都是为了解…

Deep Frequency Filtering for Domain Generalization论文阅读笔记

这是CVPR2023的一篇论文&#xff0c;讲的是在频域做domain generalization&#xff0c;找到频域中generalizable的分量enhance它&#xff0c;suppress那些影响generalization的分量 DG是一个研究模型泛化性的领域&#xff0c;尝试通过各自方法使得模型在未见过的测试集上有良好…

读Multiscale Vessel Enhancement Filtering笔记

1.Introduction 通常对CTA和MRA的血管成像方法中&#xff0c;可视化3维血管结构的方法是MIP。但是MIP的缺点是会将非血管结构展现出来并且对于对比度比较低的小血管展现不太好。这也正是TOF-MRA的缺点。 这篇论文的目的是为了增强血管结构&#xff0c;最终达到血管分割的目的。…

Maven Resources Plugin的Filtering功能的Bug

Maven Resources Plugin的Filtering功能是非常强大的&#xff0c;是构建中非常重要的一项必备特性&#xff0c;但是最近发现了Filtering在过滤复杂文本&#xff08;例如Shell脚本&#xff09;时&#xff0c;会有一些问题&#xff0c;简单记录一下。以下是一段Shell脚本&#xf…

Neural Collaborative Filtering

目录 2 PRELIMINARIES3. NEURAL COLLABORATIVE FILTERING3.1 通用框架3.2 广义矩阵分解(GMF)3.3 MLP3.4 GMF和MLP的聚合—NeuMF 4 EXPERIMENTSQ1 NCF的效果比其他SOTA的隐式CF好吗&#xff1f;Q2 带有负采样的log loss&#xff08;这个优化框架&#xff09;是否适用于RS&#x…

图像处理中滤波(filtering)与卷积(convolution)的区别

图像处理中滤波和卷积是常用到的操作。很多人认为卷积就是滤波&#xff0c;两者并无区别&#xff0c;其实不然。两者在原理上相似&#xff0c;但是在实现的细节上存在一些区别。这篇博文主要叙述这两者之间的区别。 1、滤波&#xff08;或者叫相关&#xff09; 简单来说&#…

MAVEN中filtering的作用是什么?

FILTERING的作用 MAVEN提供了一种过滤机制&#xff0c;这种机制能够在资源文件被复制到目标目录的同时&#xff0c;当filtering true时替换资源文件中的占位符&#xff1b;当filtering false时不进行占位符的替换。 写在前面 如下所示filtering的用法&#xff0c;它对资源…

在Navicat premium上实现两个数据库同步

问题&#xff1a;有两个数据库A和B,现需要将数据库A的数据同步到数据库B上。 法一&#xff1a;使用备份 首先在数据库A上生成备份 然后将数据库A的备份拷贝到存储数据库B的备份的文件夹下&#xff0c;然后点击还原备份 方法二:使用工具中的同步操作 点击工具->结构同步 选…

Otter实现数据库同步

Otter工作原理 原理描述: 基于Canal开源产品,获取数据库增量日志数据。典型管理系统架构,manager(web管理)+node(工作节点) a. manager运行时推送同步配置到node节点 b. node节点将同步状态反馈到manager上基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作…

【愚公系列】2022年12月 数据库-关系数据库同步框架Dotmim.Sync的使用

文章目录 前言1.移动智能的三种模式2.混合模式模式的瓶颈3.数据同步的解决方案 一、关系数据库同步框架Dotmim.Sync的使用1.包介绍2.SqlServer到Sqlite同步测试基本使用3.SqlServer到Sqlite同步测试Web API代理3.1 服务端设置SqlServer同步服务3.2 客户端设置SqlLite同步服务3.…

django mysql数据同步_[django自动同步数据库]Django数据库同步操作技巧详解

同步数据库&#xff1a; 使用上述两条命令同步数据库 1.认识migrations目录&#xff1a; migrations目录作用&#xff1a;用来存放通过makemigrations命令生成的数据库脚本&#xff0c;里面的生成的脚本不要轻易修改。 要正常的使用数据库同步的功能&#xff0c;app目录下必须要…

SQLSERVER数据库同步

SQLSERVER数据库数据同步 1、实现方法2、实现发布3、实现订阅 1、实现方法 使用的是SQL自带的发布与订阅功能&#xff0c;SQL Server版本是2008&#xff0c;一台发布&#xff0c;一台订阅&#xff0c;实现数据库的数据同步。 2、实现发布 打开复制&#xff0c;右击本地发布&…

MySQL第九讲 MySQL集群主从搭建指定数据库同步数据

1、全库同步与部分同步 之前提到&#xff0c;我们目前配置的主从同步是针对全库配置的&#xff0c;而实际环境中&#xff0c;一般并 不需要针对全库做备份&#xff0c;而只需要对一些特别重要的库或者表来进行同步。那如何 针对库和表做同步配置呢&#xff1f; 首先在Master端…

Python数据库同步神器(一键同步)

1.背景&#xff1a; 最近公司项目的用户中心模块经常出现线上问题&#xff0c;测试人员需要将线上真实数据导入到测试环境中去复现Bug。公司有3套测试环境&#xff0c;来回切换并校验数据比较麻烦&#xff0c;于是就有了如下的数据库同步神器。 2.界面&#xff1a; 3.源代码&…

分布式数据库同步

分布式部署时数据库之间的数据同步 数据的同步原理就是同步binlog日志到需要复制的其他的数据库上&#xff0c;其他数据库根据binlog日志里面的ddl和dml语句,执行该语句同步到当前数据库&#xff0c;就能保证多个数据库的数据的一致性。 Binlog日志主要是的数据库执行的ddl、…

异构数据库同步方案

目录 1 概述 2 原理 3 参数 1 概述 为减轻生产库负载&#xff0c;避免在其上直接运行分析应用拖垮系统&#xff0c;需要将生产系统产生的业务数据实时同步到大数据分析平台。 凭借异构&#xff08;主从库不同类型、主从对象不同属主模式&#xff09;数据处理能力&#xff…

IDEA 之because it is included into a circular dependency循环依赖的解决办法

问题场景&#xff1a; 今天启动项目的时候突然遇到这个错误导致无法启动 Information:2019/8/26 11:34 - Compilation completed with 1 error and 0 warnings in 6 s 52 ms Error:Cannot build artifact aws_multi_branch_1.0.0:war exploded because it is included into a…

Maven dependencyManagement 详解

dependencyManagement&#xff08;以下简称&#xff1a;《依赖管理器》&#xff09; 《依赖管理器》简介 Maven中的《依赖管理器》元素提供了一种管理依赖版本号的方式。在《依赖管理器》元素中声明所依赖的jar包的版本号等信息&#xff0c;那么所有子项目再次引入此依赖jar包…

Maven之dependencyManagement

1. 父项目的dependencyManagement 最开始&#xff0c;知道dependencyManagement是管理jar包版本的&#xff0c;如果在父项目中的该节点下声明了包的版本&#xff0c;子项目中在Dependencies中引用该包时就不需要声明版本了&#xff0c;这样保证多个子项目能够使用相同的包版本…