pom文件是maven构建的基础,若想在测试,调试,编译,打包时做出个性化的需求,需要对pom文件配置有足够的了解。下面总结常用的配置知识。
1.构建节点
1.1. resource 节点
<resources>
<resource>
<directory>src/main/resources</directory>
<targetPath>${project.build.directory}/config</targetPath>
<includes>
<include>**/*.yml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
- 此配置是在编译或执行时把directory目录下的*.yml文件移动到targetPath目录下。
- 若filtering设置为true,则会对移动的文件进行再次编码处理,若不是文本文件,会被改变,导致不可使用。
1.2. 插件maven-jar-plugin
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/tessdata/**</exclude>
<exclude>**/*.exe</exclude>
<exclude>**/*.yml</exclude>
</excludes>
</configuration>
</plugin>
此插件仅在打包期执行。
1.3. 插件maven-resources-plugin
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/config</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.yml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
此配置与resource配置相似,而这里仅是在打包期复制,而不是移动,把directory目录的*.yml文件复制到outputDirectory目录下。