2011-12-05 19 views
13

Pracuję nad projektem wielomodułowym. Używamy appCtx.xml z jednego modułu w kilku innych modułach.Kopiowanie pliku z jednego projektu na inny w maven

Obecny problem polega na tym, że nie zawsze są ze sobą zsynchronizowane.

Zdarza się, gdy ktoś modyfikuje plik i buduje projekt, osoba, która to robi, może zapomnieć skopiować do innego modułu i powoduje problemy.

Jak skopiować plik appCtx.xml do katalogu src/main/resources z projektu A do katalogu src/main/resources w projekcie B?

+0

Czy możesz dodać bezpośrednią zależność? – Gray

+1

Innym pomysłem jest skorzystanie z systemu kontroli wersji. Nie wiem, czy używasz SVN, ale zobacz: http://stackoverflow.com/questions/1401951/is-it-possible-to-link-svn-repository-files-so-that-a-file-is- faktycznie-odniesienie – Gray

Odpowiedz

35

Można to zrobić z maven resources plugin: copy-resources, coś takiego:

<plugin> 
    <artifactId>maven-resources-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>copy-appCtx</id> 
      <phase>generate-resources</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${project.build.directory}/src/blahhere</outputDirectory> 
       <overwrite>true</overwrite> 
       <resources> 
        <resource> 
         <directory>../other_project/src/blah/blah</directory> 
         <includes> 
          <include>appCtx.xml</include> 
         </includes> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

tej kopii pliku z jednego projektu (z nimi rozmieszczane na tym samym drzewie źródłowym) w ramach fazy generate-zasobów. Możesz dostosować to do swoich potrzeb.

To kopiowanie z jednego projektu do drugiego może powodować niestabilne kompilacje, jeśli projekty nie są wszystkie zbudowane od razu, ale powyższe będzie działać dla projektów, które są zawsze budowane razem.

+1

Szukałem tego! dzięki –

Powiązane problemy