有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java maven故障保护插件。复制资源

在我的项目中,我创建了以下目录结构

src
  -> main
       -> java
       -> resources
  -> test
       -> java
       -> resources
  -> integration-test
       -> java
       -> resources

在我的pom里。xml我做了以下输入

        <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.17</version>
            <configuration>
                <testSourceDirectory>src/integration-test/java</testSourceDirectory>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

如果我在src中复制资源->;测试->;资源它会自动成功复制到/target/test类。但是如果我将一个文件复制到/src/integration test/resources中,那么在构建时它不会被复制到目标/测试类中

如何使集成测试也将资源中的文件复制到目标中


共 (1) 个答案

  1. # 1 楼答案

    maven failsafe插件的integration-test目标默认绑定到integration-test生命周期阶段:http://maven.apache.org/surefire/maven-failsafe-plugin/integration-test-mojo.html。因此,由于integration-test阶段在process-test-sources[1]之后(在此期间,测试源通常被复制到target目录),并且因为我假设您所指的“构建时间”实际上是Eclipse的“自动构建”特性,您的集成测试源不会被复制,因为Eclipse构建会在test-compile生命周期阶段停止

    您应该了解Maven lifecycle,以及如何将特定目标映射到适合您需求的生命周期阶段

    [1]https://maven.apache.org/ref/3.3.9/maven-core/lifecycles.html