Maven:如何使用自己的插件过滤一个文件

Maven:如何使用自己的插件过滤一个文件,maven,maven-plugin,Maven,Maven Plugin,我正在修改一些maven3插件,我只需要使用pom中已经定义的一些属性来过滤文件,开始整个过程 我没有找到太多关于这个主题的文档/示例,我所有的尝试都失败了 第一个: /** * @component * @required * @readonly */ private MavenFileFilter mavenFileFilter; 然后在我的代码中: mavenFileFilter.copyFile(tempFile, resultingFile, true, getProjec

我正在修改一些maven3插件,我只需要使用pom中已经定义的一些属性来过滤文件,开始整个过程

我没有找到太多关于这个主题的文档/示例,我所有的尝试都失败了

第一个:

 /**
 * @component
 * @required
 * @readonly
 */
private MavenFileFilter mavenFileFilter;
然后在我的代码中:

mavenFileFilter.copyFile(tempFile, resultingFile, true, getProject(), Collections.<String> emptyList(), true, "utf-8", session);
但是我不知道如何把我想要的文件放进去。。。资源没有具有实际内容的构造函数

欢迎任何帮助

最好的

编辑(更多上下文): 上下文如下:我们构建了一个部署在许多客户服务器上的web应用程序

一方面,文件夹层次结构取决于不同的客户

另一方面,我们有一些默认的logback.xml配置文件,需要对其进行筛选(以使用给定客户服务器的正确文件夹层次结构)。该文件位于某个公共项目中。如果我们愿意,我们还希望能够根据每个客户对logback.xml进行专门化。我们已经将这些文件放在相应的公共项目/客户项目的源文件夹中

因此,进行打包的插件现在会按照依赖关系的顺序查看每个工件,并提取第一个logback.xml并将其放在需要的地方。它还需要进行筛选以放置正确的文件夹

这一切在最后一点都起作用了

这有意义吗?还有更好的办法吗


再次感谢

我建议大家看看这个:


...
maven资源插件
2.6
复制资源
验证
复制资源
${basedir}/目标/额外资源
src/非打包资源
真的
...
...

为什么您需要实现一个插件,该插件只复制其他生命周期阶段中的资源

问题是,我需要在生命周期的后期这样做:我需要为给定的上下文定制一些配置文件……现有的过滤功能还不够吗?@khmarbaise我肯定他想使用现有的过滤功能,但API是什么,你如何使用它们?这就是这个问题的实质。Maven API的文档很少。这使得编写插件需要大量的尝试和错误。事实上,我正在努力解决这个问题(我是如何来到这里的)。我建议大家看看@khmarbaise:这个链接正是我想要的。谢谢我在问题中加入了更多的上下文,我希望它有助于。。。然而,在编辑之后,多亏了你,我想到了一种新的方法:在我的插件操作之后,在打包所有东西之前,有一个阶段是可能的。让我们看看:)再次感谢!
MavenResourcesExecution mavenResourcesExecution = new MavenResourcesExecution(resources, outputDirectory, getProject(), "utf-8", null, nonFilteredFileExtensions, session);