我正在做一个多模块项目。我们正在其他几个模块中的一个模块中使用appCtx.xml。
当前的问题是它们并不总是彼此同步。
当有人修改文件并构建项目时,就会发生这种情况,这样做的人可能会忘记将其复制到另一个模块,从而导致问题。
如何将src / main / resources中的appCtx.xml从项目A复制到项目B中的src / main / resources?
您可以使用Maven资源插件: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>
这将从一个项目(位于同一源代码树中)复制一个文件,作为generate-resources阶段的一部分。您可以根据自己的需要进行调整。
如果不是一次全部构建项目,则从一个项目复制到另一个项目可能会导致构建不稳定,但是上述方法适用于始终一起构建的项目。