Maven,过滤非资源文件

时间:2010-08-02 14:45:45

标签: maven-2

我在几个模块之间共享配置文件,我不希望配置文件被烘焙到任何JAR中。

如何对未指定为资源但位于与根​​POM处于同一级别的配置文件夹中的文件进行Maven do(resource)过滤?

1 个答案:

答案 0 :(得分:6)

您可以使用Maven Resources Plugin及其resources:copy-resources mojo。来自示例:

  

Copy Resources

     

您可以使用mojo copy-resources   复制不在的资源   默认maven布局或未声明   在build / resources元素和   将它附加到阶段

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.4.3</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <!-- here the phase you need -->
            <phase>validate</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/target/extra-resources</outputDirectory>
              <resources>          
                <resource>
                  <directory>src/non-packaged-resources</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>              
            </configuration>            
          </execution>
        </executions>
      </plugin>
    </plugins>
    ...
  </build>
  ...
</project>

另一种选择是使用Maven AntRun Plugin和Ant过滤功能(例如使用Filter和/或Copy任务),但上面看起来很好。