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

标签 maven

我有一个像这样的多模块 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/

相关文章:

java - Java 类路径汇编如何工作?

maven - 如何在 Grails 2.4 中外部化 Maven 凭据

maven - Gradle无法解决Spring依赖关系

java - spring-boot-starter-parent 的不可解析 POM

maven - 如何访问maven.build.timestamp进行资源过滤

java - Gradle 不会导入 bintray 依赖项,但不会抛出任何错误

maven - 在jenkins/blueocean docker容器中安装Maven

maven - 你能分享 Maven 中的 manifestEntries 吗?

java - 在maven中,如果我创建一个子包,主包是如何引用的?

java - 无法在 IntelliJ 中编译/运行 Java 项目