1

我正在寻找合适的插件来将文件内容复制到另一个文件中。

resource.xml的内容如下:

<class>my.path.ResourceA</class>
<class>my.path.ResourceB</class>
<class>my.path.ResourceC</class>

并且必须复制到destination.xml 中${content} 的位置:

<aaa>some info</aaa>
${content}

请问有什么合适的maven插件来完成这项任务?先感谢您。网卡

4

2 回答 2

1

一般来说,使用 Maven,您必须首先考虑您想做什么。乍一看可能很奇怪,但由于 Maven 是一个固执己见的构建工具,所以做奇怪/变通的事情通常并不简单;-)。

在这里,您需要两件事:

  1. 将该文件加载到“内容”属性中(显然,在资源过滤通过绑定到早期阶段开始之前,请参阅下一点)
  2. 只需激活资源过滤即可完成

不幸的是,(1)没有众所周知的/标准插件能够在属性中加载文件。

在通过专用插件重写之前,一种可能的方法是使用 antrun-maven-plugin (通过 LoadFile 任务?)或 gmaven 插件将该文件加载到属性中(例如,在初始化阶段,以便它发生在流程资源之前,请参阅有关生命周期的文档。)

然后,对于 (2),您只需激活过滤(请参阅maven-resources-plugin的标准文档)。

于 2013-08-26T22:19:57.793 回答
0

Baptiste 的答案不适用于 antrun 插件,因为 LoadFile 任务的属性是 Ant 属性,在 Maven 中无法访问以进行过滤。

相反,可以使用 readfiles-maven-plugin,您可以在这里找到:https ://github.com/chonton/readfiles-maven-plugin

于 2021-07-14T11:47:16.510 回答