Maven的神火(测试)的插件mvn test-compilesrc/test/resources target/test-classes复制文件。它编译在.java src/test/java,和编译.class文件复制到target/test-classes

不过,这并不从src/test/java复制的资源,它更方便,能够把测试资源在同一个目录,因为它们是资源,为.java类,要比在src/test/resources并行的层次结构。

时有可能得到Maven的资源从src/test/java复制?

有帮助吗?

解决方案

在资源复制所有由Maven的资源插件完成的,如果你读的文档上,您将看到如何从添加的src / test / java下资源的复制。

请参阅 http://maven.apache.org/plugins/maven-resources-插件/ testResources-mojo.html ,在测试资源目标,其被包括在所述默认的生命周期。

和然后看到 http://maven.apache.org/pom.html 和寻<testResources>

其他提示

bmargulies答曰,但让我填写一些细节。

<testresources>可以被添加到该项目的POM的<build>节点,如下所示:

 <testResources>
  <testResource>
    <directory>${project.basedir}/src/test/java</directory>
  </testResource>
 </testResources>

这副本一切src/test/java - 包括.java源代码,这是我们不想要的。

它还(如bmargulies仅在暗示)覆盖并取代在标准父POM默认<testResources>设置,从所有其它POM继承(除非该继承改变)。标准的父副本src/test/resources,所以通过重写的是,我们没有得到复制像往常一样,这是我们不想要的。 (特别是,我的整个这样做的理由是使用unitils,这要复制的文件unitils.properties - 这就是(对我来说,反正)在src/test/resources

因此,我们重新添加src/test/resources

<testResources>
  <testResource>
    <directory>${project.basedir}/src/test/java</directory>
  </testResource>
  <testResource>
    <directory>${project.basedir}/src/test/resources</directory>
  </testResource>
</testResources>

,在顺序拷贝列出的,使得对于同时存在于两个/src/test/java文件(和子目录)和/src/test/resources(和子目录),则src/test/resources版本是一个端部向上在test-classes

现在,我们只需要的的复制.java文件:

<testResources>
  <testResource>
    <directory>${project.basedir}/src/test/java</directory>
    <excludes>
        <exclude>**/*.java</exclude>
    </excludes>
  </testResource>
  <testResource>
    <directory>${project.basedir}/src/test/resources</directory>
  </testResource>
</testResources>

只有它为我工作,当我把我的测试配置为src/test/resources文件夹(源文件src/test/java的模拟)的方式。从该文件夹的文件复制到这是在测试执行过程中的类路径中target/test-classes文件夹。我不知道为什么,但接下来的配置并没有为我工作:

<testResources>
  <testResource>
    <directory>${project.basedir}/src/test/java</directory>
    <excludes>
        <exclude>**/*.java</exclude>
    </excludes>
  </testResource>
  <testResource>
    <directory>${project.basedir}/src/test/resources</directory>
  </testResource>
</testResources>
  

时有可能得到Maven来复制   从SRC /测试/ JAVA资源?

是,这是很容易与 antrun插件实现

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top