我在几个模块之间共享配置文件,我不希望配置文件被烘焙到任何JAR中。
如何对未指定为资源但位于与根POM处于同一级别的配置文件夹中的文件进行Maven do(resource)过滤?
答案 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任务),但上面看起来很好。