5

我是新手。我想在多模块项目中使用过滤。父 pom 的打包类型设置为 pom。项目结构如下:

pom.xml
     |
     |______MODULE1
     |       |
     |       pom.xml
     |       File1_needed_to_be_filtered
     |
    File2_needed_to_be_filtered

请注意,Module1 也是多模块项目。所以请告诉我如何将过滤应用于file1和file2。如果我对file1应用过滤,那么处理后的文件将存储在哪里(因为包装类型为pom的pom文件不会创建任何名为target的文件夹!)请帮助我,因为这对我来说非常重要,而且这个问题无处解决其他在互联网上。

4

2 回答 2

4

您可以使用maven-assembly-plugin - 使用 'dir' 格式(尽管如果有多个文件,将其作为某种存档可能是有意义的)。描述符格式允许您过滤。这应该适用于您上面描述的 pom 和文件层次结构。

但是,我建议将它们放在兄弟模块而不是父模块中。这将逻辑排除在您的聚合器 pom 之外,并且(一旦您开始这样做)您可能会决定使用程序集将它们与您的其他组件一起分发更容易,无论如何您都需要一个模块。

于 2011-02-20T04:07:51.077 回答
0

要在复制时让 Maven 过滤资源,请将过滤设置true为 pom.xml 中的资源目录:

<project>
  ...
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filterineg>
      </resource>
    </resources>
  </build>
</project>

但是如果你想过滤资源,不要把它们放在一个包装为 type 的项目中pom,这没有意义(因为你给自己的原因)。实际上,我不明白你想要达到什么目的(因为你知道这不是事情的运作方式)。

于 2010-03-12T14:38:05.537 回答