我有一个像这样的多模块 Maven 项目:
-project
+-sub-project1
+-sub-project2
对于我的 JUnit 测试,我创建了另一个
persistence.xml
sub-project1/src/test/resources/META-INF
中的文件.该项目是子项目2的依赖项,这样,我希望子项目2的测试使用与子项目1相同的测试persistence.xml,但它没有发生。所以,我想知道为什么我可以让 maven 在测试阶段自动将此文件复制到其他子模块......也许我把这个文件放在
project/resources
中会更好。文件夹,例如,然后复制它们...我希望有人已经设法以某种方式工作,并且可以帮助我或展示如何做到这一点。
提前致谢。
最佳答案
我设法让它像这样工作:
我创建了一个 project/assembly/test/resources/META-INF/persistence.xml
文件,并将其添加到我的 pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-test-persistence-xml-resources</id>
<phase>process-test-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>src/</outputDirectory>
<resources>
<resource>
<directory>${project.parent.basedir}/assembly/</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
它优雅地工作。
关于maven - 将测试资源从一个子模块复制到其他子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11970270/