2010-08-06 12 views
20

में मेरी परियोजना से फ़ाइलों की प्रतिलिपि बनाना क्या कुछ मैवेन चरण के दौरान मेरे प्रोजेक्ट से फ़ोल्डरों को एक निश्चित स्थान पर कॉपी करना संभव है? क्या कोई जानता है कि कैसे?मैवेन

उत्तर

27

इस maven-resources-plugin

में copy-resources लक्ष्य का उपयोग करेंगे करने का Maven रास्ता http://maven.apache.org/plugins/maven-resources-plugin/examples/copy-resources.html

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>2.7</version> 
     <executions> 
      <execution> 
      <id>copy-resources</id> 
      <!-- here the phase you need --> 
      <phase>validate</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${basedir}/target/extra-resources</outputDirectory> 
       <resources>   
       <resource> 
        <directory>src/non-packaged-resources</directory> 
        <filtering>true</filtering> 
       </resource> 
       </resources>    
      </configuration>    
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    ... 
    </build> 
    ... 
</project> 
+2

'एंटी-रन' प्लगइन का उपयोग करने से पहले, मैं इस समाधान को प्राथमिकता दूंगा। – codevour

+1

क्या मैवेन संसाधन प्लगइन का उपयोग करने से कोई फायदा है? मैं इसे एंटी-रन प्लगइन के साथ करना पसंद करता हूं क्योंकि यह आपको एकल फ़ाइलों को संभालने और उनका नाम बदलने की अनुमति देता है और यह थोड़ा छोटा है - हालांकि यह अभी भी एक फ़ाइल की प्रतिलिपि बनाने के लिए लिखने के लिए बहुत अधिक XML है ... – mort

+0

@mort - कोई विशेष लाभ नहीं। लेकिन मेरी * व्यक्तिगत * प्राथमिकता मैवेन प्लगइन्स का उपयोग करना है जहां एंटरून के बजाए उपलब्ध है। – JoseK

20

मेवेन-एंट्रिन प्लगइन पर एक नज़र डालें। आप इस तरह किसी भी Maven चरण में एक फाइल कॉपी कर सकते हैं:

<plugin> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <version>1.4</version> 
     <executions> 
     <execution> 
      <id>copy</id> 
      <phase>compile</phase> 
      <configuration> 
      <tasks> 
       <copy file="myFileSource" tofile="MyFileDest"/> 
      </tasks> 
      </configuration> 
      <goals> 
      <goal>run</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
+1

सरल और प्यारा - धन्यवाद। – vikingsteve

+0

समाधान के लिए धन्यवाद। मैं बिल्कुल एक चाहता था। –

+0

@BabannaDuggani कृपया ध्यान दें कि '' नोड को maven-antun-plugin 1.5+ में बहिष्कृत किया गया है। यहां विकल्प देखें: http://stackoverflow.com/a/35397606/363573 – Stephan

3

एक समाधान के लिए इसी तरह से @mort's onemaven-antrun-plugin 1.8:

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.8</version> 
    <executions> 
    <execution> 
     <id>copy</id> 
     <phase>compile</phase> 
     <configuration> 
     <target> 
      <copy file="sourceFile" tofile="targetFile"/> 
     </target> 
     </configuration> 
     <goals> 
     <goal>run</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

ध्यान दें कि <tasks> नोड <target> नोड के पक्ष में मेवेन-एंट्रून-प्लगइन 1.5 के रूप में बहिष्कृत किया गया है।