Maven复制、清理文件插件使用

在使用maven开发的项目中,有时候需要在打包时根据环境的不同复制不同目录下的文件,通常是配置文件。

apache提供了maven-resources-plugin可以复制在指定的maven生命周期中复制文件,如下示例配置

 1 <plugin>
 2                 <artifactId>maven-resources-plugin</artifactId>
 3                 <version>3.0.2</version>
 4                 <executions>
 5                     <execution>
 6                         <id>copy-resources</id>
 7                         <!-- insert here the phase you need -->
 8                         <phase>validate</phase>
 9                         <goals>
10                             <goal>copy-resources</goal>
11                         </goals>
12                         <configuration>
13                             <outputDirectory>${basedir}/src/main</outputDirectory> // 目标文件夹
14                             <resources>
15                                 <resource>
16                                     <directory>${project.parent.basedir}/basic/src/main</directory> // 源文件夹
17                                     <includes>
18                                         <include>basic*.proto</include> // 按文件名筛选要复制的文件
19                                     </includes>
20                                     <filtering>true</filtering>
21                                 </resource>
22                             </resources>
23                         </configuration>
24                     </execution>
25                 </executions>
26             </plugin>

同样,配置了clean插件后可以在执行Maven的clean操作时按配置清理文件

 1 <plugin>
 2                 <artifactId>maven-clean-plugin</artifactId>
 3                 <version>3.1.0</version>
 4                 <configuration>
 5                     <failOnError>false</failOnError>
 6                     <filesets>
 7                         <fileset>
 8                             <directory>${basedir}/src/main</directory> // 目标文件夹
 9                             <includes>
10                                 <include>**/*.proto</include> // 按文件名筛选要清理的文件
11                             </includes>
12                             <excludes>
13                                 <exclude>user*.proto</exclude> // target文件夹中对应的要清理的文件
14                             </excludes>
15                             <followSymlinks>false</followSymlinks>
16                         </fileset>
17                     </filesets>
18                 </configuration>
19             </plugin>
原文地址:https://www.cnblogs.com/nemowang1996/p/12185680.html