2011-01-18 8 views
14

इसी प्रकार के प्रश्न: Can Ant's tar task set a Linux file permission even when the task is used on other platforms?अन्य प्लेटफार्मों पर चलने पर भी लिनक्स फ़ाइल अनुमतियों को सेट करने के लिए मेवेन असेंबली प्लगइन का उपयोग करें?

अगर मैं 'परियोजना' वर्णनकर्ता साथ Maven 2 विधानसभा प्लगइन का उपयोग, वहाँ शामिल build.sh स्क्रिप्ट फ़ाइलें के लिए उदाहरण के लिए एक्ज़िक्यूटेबल में खोल स्क्रिप्ट अनुमति सेट करने के लिए एक तरीका है?

उदाहरण:

 <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2</version> 
      <configuration> 
       <descriptorRefs> 
        <descriptorRef>project</descriptorRef> 
       </descriptorRefs> 
      </configuration> 
     </plugin> 

यह बनाएगा तीन फ़ाइलों

  • -project.tar.bz2
  • -project.tar.gz
  • -Project-जिप

और मैं फ़ाइल अनुमतियां सेट करना चाहता हूं सभी * .sh फ़ाइलें जो टैर फ़ाइलों में 'निष्पादन योग्य' में हैं।

उत्तर

35

यह मेवेन असेंबली प्लगइन assembly descriptor में उपलब्ध fileMode पैरामीटर का उपयोग करके किया जा सकता है। उदाहरण के लिए

<assembly> 
    ... 
    <fileSets> 
     <fileSet> 
      <directory>${project.build.directory}/bin</directory> 
      <outputDirectory>/bin</outputDirectory> 
      <includes> 
       <include>*.sh</include> 
      </includes> 
      <fileMode>0755</fileMode> 
     </fileSet> 
     ... 
    </fileSets> 
    ... 
</assembly> 
+0

महान, धन्यवाद! (चींटी के साथ इस के आसपास काम करने से कहीं अधिक आसान) – mjn

+0

अगर मैं टाइको के साथ अपनी प्लगइन एक्लिप्स आरसीपी संकलित करता हूं तो यह कैसे काम करता है? मुझे यह फाइल कहां लिखनी है? मेरे पास केवल कुछ pomx.xml फ़ाइल है ... क्या Tycho के साथ एक "fileMode" है? – user376112

+0

लाइन-एंडिंग के लिए भी अच्छा –

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

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