2011-11-02 21 views
15

के माध्यम से आर्केटाइप-संसाधनों में स्रोतों को नहीं जाने देता है। क्या कोई जानता है कि मैं संसाधन कैसे बना सकता हूं जैसे .gitignore परिणामी प्रोजेक्ट का हिस्सा बन सकता है?मेवेन आर्केटाइप प्लगइन

  1. मूलरूप आदर्श-संसाधनों/.gitignore
  2. साथ मूलरूप आदर्श बनाने mvn स्थापित
  3. mvn archatype:
  4. उत्पन्न परियोजना शामिल नहीं है .gitignore

पुनश्च जिसके परिणामस्वरूप। मुझे यकीन है कि यह वहां नहीं है।

+0

यहां सभी समाधान, केवल समस्या का आधा तय करें। उन्हें आर्केटाइप बनाया गया है, 'के साथ।gitignore': लेकिन आप '.gitignore' के साथ कैसे उत्पन्न करते हैं? – flungo

उत्तर

9

एक खाली निर्देशिका टैग के साथ src/main/resources/META-INF/maven/archetype-metadata.xml करने के लिए एक fileSet प्रविष्टि जोड़ें:

<fileSet> 
    <directory></directory> 
    <includes> 
    <include>.gitignore</include> 
    </includes> 
</fileSet> 

इस परियोजना के रूट निर्देशिका में src/main/resources/archetype-resources से शामिल फ़ाइलों की प्रतिलिपि होगा।

9

डीबग (एमएक्स विकल्प के साथ) मेवेन बिल्ड लॉन्च करके अपने मेवेन-संसाधन-प्लगइन संस्करण की जांच करें। यदि आप 2.7, there is a regression where .gitignore files are silently ignored का उपयोग करते हैं।

इस मामले में, आप स्पष्ट रूप से अपने pom.xml में 2.6 का उपयोग करना होगा:

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <artifactId>maven-resources-plugin</artifactId> 
       <version>2.6</version> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 
0

maven-resources-plugin पदावनति के लिए वैकल्पिक plexus-utils संस्करण है जो वास्तव में एक प्रतिगमन है लागू करने के लिए है:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.7</version> 
    <dependencies> 
     <!-- it's for fixing maven-resources-plugin 2.7 MRESOURCES-190 --> 
     <dependency> 
      <groupId>org.codehaus.plexus</groupId> 
      <artifactId>plexus-utils</artifactId> 
      <!-- this is last 2.x release --> 
      <version>2.1</version> 
     </dependency> 
    </dependencies> 
</plugin> 
+1

मैं वोरबर्गर [समाधान] का पक्ष लेगा (http://stackoverflow.com/a/37322323/859604) –

12

आने वाले मेवेन-संसाधन-प्लगइन v3.0.0 के लिए यह समाधान (अभी तक पोस्ट करने के समय जारी नहीं किया गया है; वर्तमान में अभी भी 2.7 है) https://issues.apache.org/jira/browse/MRESOURCES-190 से संस्करण संस्करण अपग्रेड करने से बेहतर लगता है:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-resources-plugin</artifactId> 
     <configuration> 
      <!-- Required so that .gitignore gets included in archetypes; see https://issues.apache.org/jira/browse/MRESOURCES-190 --> 
      <addDefaultExcludes>false</addDefaultExcludes> 
+1

मैं "addDefaultExcludes" का उपयोग करके इस काम की पुष्टि कर सकता हूं। आर्केटाइप 2.4 और मेवेन-संसाधन-प्लगइन v.3.0.1 का उपयोग करना अभी भी एक ही समस्या है। – max

+0

addDefault यहां वर्णित ठीक काम करता है। आखिरकार! –

0

बग अभी भी नवीनतम मेवेन-आर्केटाइप-प्लगइन 2.4 और मेवेन-संसाधन-प्लगइन 3.0.1 में है।

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-archetype-plugin</artifactId> 
    <version>2.2</version> 
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.6</version> 
</plugin> 

और अपने में pom.xml उत्पन्न आप

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.6</version> 
</plugin> 
+0

वोरबर्गर का [समाधान] (http://stackoverflow.com/a/37322323/859604) बेहतर है क्योंकि इसमें पुराने प्लगइन का उपयोग शामिल नहीं है। –

1

जोड़ना चाहिए बग अभी भी Maven-मूलरूप आदर्श-प्लगइन v3.0.1 में मौजूद हो रहा है:

यहाँ समाधान है । उन लोगों के लिए जो मेवेन-संसाधन-प्लगइन को डाउनग्रेड नहीं करना चाहते हैं। मैं एक कम या कम बदसूरत कामकाज स्थापित करने में कामयाब रहे।

सबसे पहले आप मूलरूप आदर्श-संसाधनों/.gitignore

__gitignore__ 

फिर archetype-metadata.xml अंदर तो देखता है __[file]__

<requiredProperties> 
    <requiredProperty key="gitignore"> 
     <defaultValue>.gitignore</defaultValue> 
    </requiredProperty> 
</requiredProperties> 

<fileSets> 
    <fileSet> 
     <directory></directory> 
     <includes> 
      <include>__gitignore__</include> 
     </includes> 
    </fileSet> 
</fileSets> 

जोड़ते हैं मूलरूप आदर्श उत्पन्न होता है Maven अब पहले __gitignore__ की प्रतिलिपि बनाएगा नाम बदलने वाक्यविन्यास और इसे डिफ़ॉल्ट मान ".gitignore" के साथ प्रतिस्थापित करेगा

संबंधित मुद्दे