4

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

-project
+-sub-project1
+-sub-project2

对于我的 JUnit 测试,我persistence.xmlsub-project1/src/test/resources/META-INF. 该项目是子项目2的依赖项,这样,我希望子项目2的测试使用与子项目1相同的测试persistence.xml,但它没有发生。

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

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

提前致谢。

4

1 回答 1

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>

它优雅地工作。

于 2012-08-15T14:13:18.490 回答