2016-04-14 108 views
0

在項目中,我創建了以下目錄結構maven failsafe插件。

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-classes。但是,如果我將文件複製到/ src/integration-test/resources中,那麼在構建時它不會複製到目標/測試類中。

我該如何讓集成測試也將資源內的文件複製到目標中?

回答

1

默認情況下,默認綁定到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生命週期以及如何將某些目標映射到適合您需求的生命週期階段。

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

+0

謝謝。我解決它通過此線' $ {project.basedir}/SRC /集成測試/資源 ' –