将测试资源从一个子模块复制到其他子模块

caa*_*os0 4 maven

我有一个像这样的多模块 maven 项目:

-project
+-sub-project1
+-sub-project2
Run Code Online (Sandbox Code Playgroud)

对于我的 JUnit 测试,我persistence.xmlsub-project1/src/test/resources/META-INF. 这个项目是sub-project2的一个依赖,这样一来,我就希望sub-project2的测试使用sub-project1中相同的测试persistence.xml,但它没有发生。

所以,我想知道为什么我可以在测试阶段让 maven 自动将这个文件复制到其他子模块......也许我把这个文件放在文件project/resources夹中会更好,例如,然后复制它们......

我希望有人已经设法以某种方式工作,并且可以帮助我或展示如何做到这一点。

提前致谢。

caa*_*os0 6

我设法让它像这样工作:

我创建了一个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>
Run Code Online (Sandbox Code Playgroud)

它工作得很好。