1

我有一个测试资源,resources/src/test/dir/sample.json它需要/tmp/data/sample.json在单元测试运行之前移动。我想使用 Maven 自动移动这个文件,而不干扰需要移动到目标的其他测试资源。原因是在生产中这个文件来自 jar 之外。

在这里查看Maven 的resource:testResources目标以及插件。我不确定在哪里指定,尤其是在不干扰其他任何内容的情况下。outputDirectory

我会在研究时发布更多内容,但我特别担心会有几种方法可以做到这一点,而且最传统的方法并不明显。

4

1 回答 1

1

假设您正在包装 jar,您将resources:testResources在您的process-test-resources生命周期中拥有。您需要像往常一样复制测试资源的默认执行以及将特定资源复制到特定输出目录的额外执行。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>resources</artifactId>
        <version>1.0</version>
        <executions>
          <execution>
            <id>execution1</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>testResources</goal>
            </goals>
          </execution>
          <execution>
            <id>execution2</id>
            <phase>process-test-resources</phase>
            <configuration>
              <outputDirectory>
                 ...
              </outputDirectory>
              <resources>
                 ...
              </resources>
            </configuration>
            <goals>
              <goal>testResources</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

也可以看看

于 2013-10-28T22:55:17.653 回答