2012-08-15 76 views
3

我有一個多模塊Maven項目是這樣的:複製測試資源別人

-project 
+-sub-project1 
+-sub-project2 

對於我的JUnit測試,我創建另一個persistence.xml文件sub-project1/src/test/resources/META-INF內。這個項目是子項目2的依賴項,這樣,我跳過了子項目2的測試使用子項目1中的相同測試persistence.xml,但它不會發生。

所以,我想知道爲什麼我可以讓Maven在測試階段自動將這個文件複製到其他子模塊......也許這是更好的,如果我把這個文件放在project/resources文件夾,例如,然後複製它們..

我在跳樓,有人已經管理這個以某種方式工作,並可以幫助我或演示如何做到這一點。

在此先感謝。

回答

3

我設法它像這樣工作:

我創建一個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> 

它的工作原理gracefullt。

+0

工程就像一個魅力。我使用它將我的父項目的src/test/resources/META-INF目錄中的persistence.xml複製到每個子模塊目錄中。 – lumpynose 2014-10-26 05:10:27