在 maven 中将文件从一个项目复制到另一个项目
我正在做一个多模块项目。我们正在使用 appCtx.xml从其他几个模块中的一个模块。
目前的问题是它们并不总是彼此同步。
当有人修改文件并且项目构建时,就会发生这种情况,这样做的人可能会忘记复制到另一个模块并导致问题。
如何将 src/main/resources 中的 appCtx.xml从项目 A 复制到项目 B 中的 src/main/resources?
我正在做一个多模块项目。我们正在使用 appCtx.xml从其他几个模块中的一个模块。
目前的问题是它们并不总是彼此同步。
当有人修改文件并且项目构建时,就会发生这种情况,这样做的人可能会忘记复制到另一个模块并导致问题。
如何将 src/main/resources 中的 appCtx.xml从项目 A 复制到项目 B 中的 src/main/resources?
您可以使用maven resources插件执行此操作:copy-resources,如下所示:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-appCtx</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/src/blahhere</outputDirectory>
<overwrite>true</overwrite>
<resources>
<resource>
<directory>../other_project/src/blah/blah</directory>
<includes>
<include>appCtx.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
这将从一个项目(在同一源树上共置)复制文件,作为生成资源阶段的一部分。您可以根据需要进行调整。
如果项目不是一次生成所有项目,则从一个项目复制到另一个项目可能会导致不稳定的生成,但上述方法适用于始终一起生成的项目。
另一种可能更新的方法是使用目标并重命名解压缩文件的目标。maven-dependency-plugin
unpack
fileMappers
这个带有示例的官方文档对我帮助很大:https://maven.apache.org/plugins/maven-dependency-plugin/examples/unpacking-filemapper.html