Maven Resources Plugin的Filtering功能的Bug

article/2025/8/25 16:04:22

Maven Resources Plugin的Filtering功能是非常强大的,是构建中非常重要的一项必备特性,但是最近发现了Filtering在过滤复杂文本(例如Shell脚本)时,会有一些问题,简单记录一下。以下是一段Shell脚本,脚本会多次引用${project.artifactId}
在这里插入图片描述
以下是上述脚本经Filtering处理后的版本,基中红色高亮的第三行并不是脚本中的语句,只是为了说明Filtering在进行文本替换时的行为特征而加的。
在这里插入图片描述
从前后对比中可以看到:复杂的/tmp/${project.artifactId}并没有被提换,而单独一行的${project.artifactId}被正确替换了。至于原因大概是脚本过于复杂,在文本检索或匹配时出了问题。

所以一个值得遵守的规则是:如果在Shell脚本中需要使用Maven Resources Plugin过滤的变量,最好是在脚本中单独以变量形式声明,然后在脚本各处引用Shell变量而不是大量地引用Maven变量。

基于这个建议,将脚本改为如下形式就可以正常工作了:

在这里插入图片描述


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

相关文章

Neural Collaborative Filtering

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

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

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

MAVEN中filtering的作用是什么?

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

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

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

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数据库同步操作技巧详解

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

SQLSERVER数据库同步

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

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

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

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

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

分布式数据库同步

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

异构数据库同步方案

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

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

问题场景: 今天启动项目的时候突然遇到这个错误导致无法启动 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(以下简称:《依赖管理器》) 《依赖管理器》简介 Maven中的《依赖管理器》元素提供了一种管理依赖版本号的方式。在《依赖管理器》元素中声明所依赖的jar包的版本号等信息,那么所有子项目再次引入此依赖jar包…

Maven之dependencyManagement

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

dependency-track 初始化源码解析

因项目的关键因素,需查看dependency-check源码流程。个人学习用。自己读代码可以根据web.xml的几个listener来debug。 1、org.dependencytrack.RequirementsVerifier 校验java版本,内存等运行时环境。 2、org.dependencytrack.upgrade.UpgradeInitiali…

Maven中的dependencyManagement 详解

Maven中的dependencyManagement 详解 大家好,我是酷酷的韩金群~ 1.作用: 在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器。 2.pom.xml文件中,jar的版本判断的两种途径: (1)如果dependencies里的dependency自己…

dependency walker工具简介及使用

dependency walker工具 简介使用 简介 官方概述: Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, …

pytest.mark.dependency用例依赖

这是一个pytest第三方插件,主要解决用例之间的依赖关系。如果依赖的上下文失败后续的用例会被标识为跳过执行,相当于执行了pytest.mark.skip。 1.安装 安装命令如下: pip install pytest-dependency执行上述命令后,再执行pip i…