问题标签 [maven-replacer-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
43480 浏览

maven - maven-replacer-plugin 和多个文件

我编写了一个 Java Web 应用程序,在其中我在构建时将 URL 替换为静态内容以添加版本信息,主要用于缓存。

比如href="myapp/css/default.min.css"变成href="myapp-0.2.8/css/default.min.css"

我正在使用 maven maven-replacer-plugin 并且对于一个文件来说一切正常:

工作示例

使用文件标签进行单个文件替换。

Maven 调试输出为工作示例显示了这一点。

不工作的例子

根据使用指南,我应该能够使用多个文件includes:include

但是下面的 pom.xml 配置什么都不做(注意第 15 行开始的 include-Tags)

调试输出如下。文件存在。

如何替换多个文件中的相同标记/值对?

0 投票
2 回答
3104 浏览

java - maven-replacer-plugin 和 windows 路径

我正在尝试用 maven 构建目录替换 xml 文件中的硬编码 linux 路径,以便我可以在 windows 上进行测试,但是当我使用 maven-replacer-plugin 进行变量替换时,windows 反斜杠路径分隔符被删除。有没有办法解决这个问题?

例如:

结果是我得到了类似“C:UsersPathNoSeparators”的替换值

有什么线索吗?

0 投票
2 回答
1578 浏览

regex - Maven replacer plugin - repeat while matches exist

I am using the maven replacer plugin and I've run into a situation where I have a regular expression that matches across lines which I need to run on the input file until all matches have been replaced. The configuration for this expression looks like this:

The input could look like this:

and I want the output to look like this:

The intention is to re-write the file, but without the tokens with a @default prefix, where another token without the prefix has already been defined.

@default.a.b.c@=QQQ and @default.h.i.j@=234 have been removed from the output because other tokens already contains a.b.c and h.i.j.

The current problem I have is that the replacer plugin only replaces the first match, so my output looks like this:

Here, @default.a.b.c=QQQ is gone, which is correct, but @default.h.i.j@=234 is still present.

If I were writing this in code, I think I could probably just loop while attempting to match on the entire output, and break when there are no matches. Is there a way to do this with the replacer plugin?


Edit: I may have over simplified my example. A more realistic one is:

This shows that it's possible for a default.x.x.x=y to precede a x.x.x=y token (as @default.q.r.s@=1 preceedes @q.r.s@=78`), my prior example wasn't clear about this. I do actually have an expression to capture this, it looks a bit like this:

I know line separators are missing from this even though they were in the other one - I was experimenting with removing all line separators and treating it as a single line but that hasn't helped. I can resolve this problem simply by running each replacement multiple times by copying and pasting the configurations a few times, but that is not a good solution and will fail eventually.

0 投票
1 回答
732 浏览

java - 包阶段不会从目标目录生成战争

我打算将 src 目录中的某些文件的内容替换到 war 中,而不更改 Src 目录中的文件。所以我正在使用 maven-replacer-plugin

在准备包阶段,我看到文件在目标目录中被替换。我通过运行 mvn prepare-package 来确认这一点,我看到 BUILD_TIME 被构建时间替换。但是当执行包阶段时,来自 src 目录的内容将被替换。从下面的屏幕截图中,我可以看到在 prepare-package 之后的下一个阶段中,正在从导致问题的 src 目录中复制 Web 应用程序资源。

在此处输入图像描述

我尝试在打包阶段使用这个插件也没有成功(我能够在目标目录的 html 中看到构建时间,但在战争中看不到)。

0 投票
0 回答
972 浏览

maven-3 - 如何使用 maven replacer 插件在 java 源代码中用值替换令牌?

上面的代码不起作用。

你能请人帮我吗?

我想替换 java 源文件中的令牌,并且值应该包含在 .class 文件中。

0 投票
1 回答
7990 浏览

regex - 使用 maven-replacer-plugin 进行选择性正则表达式替换

我想使用maven-replacer-plugin在我的 index.html 文件中重命名我的 javascript 导入语句。

但是我只想在路径开始的地方这样做app

index.html 片段

到目前为止,在我的 pom.xml 中,我有 maven-replacer-plugin 的配置

目前这显然会取代所有的.js比赛。

我可以在该<token>部分中添加一些魔法咒语来实现这一目标吗?

0 投票
0 回答
214 浏览

java - 如何在使用 maven-replacer-plugin 时包含目录中的所有文件?

我想替换特定目录(例如 dir1)内所有文件中的令牌值:

几个例子:

  1. /dir1/helloworld.jsp
  2. /dir1/dir2/sample.jsp
  3. /dir1/dir2/dir3/produtinfo.jsp
  4. /dir1/random/dir3/dir4/random.jsp

我尝试使用以下似乎不起作用的配置

我在这里错过了什么吗?

另外,我有两个属性,例如

prop1.value=10
prop2.prop1.value=20

所以这个插件用“sample text prop2.10”替换了“sample text ${prop2.prop1.value}”。我该如何解决?它应该用“示例文本 20”来更新它。

简而言之,我想在构建 maven 项目时替换 src/main/webapp/jsp 中存在的所有 jsp 文件中存在的一些属性值,所以如果有任何替代方案,请随时提出建议。

0 投票
1 回答
1369 浏览

maven - 如何在maven中替换键的值

我有一个简单的属性文件,包含以下几行:

现在,使用一些 Maven 插件,我需要将versionfrom的值更改为1.0.0其他值。

我知道我可以通过替换1.0.0一些令牌(比如$my_version)来使用 maven-replacer-plugin。然后,我可以使用此令牌即时替换该值。

但是,我不想使用令牌值;我需要的是替换=(等号)之后的所有文本。我怎样才能做到这一点?

0 投票
1 回答
999 浏览

java - Maven Replacer Plugin 1.5.3 No input file/s defined 警告

我正在使用 Maven 替换插件版本 1.5.3 从 tokenValueMap 创建输出文件作为我的替换模式文件。我的输入文件是一个 .txt 文件。这是我的 pom.xml 的样子。在运行 mvn groupId:artifactId:replace 时,它​​构建成功但收到警告“未定义输入文件”。替换在 0 个文件上运行。请建议!谢谢

0 投票
2 回答
2592 浏览

maven - maven替换插件不起作用

这是相关部分pom.xml

这是api.json文件

运行后mvn clean package,我看不到target/swagger/api.json被更新project.version