2011-01-18 10 views
14

Benzer soru: Can Ant's tar task set a Linux file permission even when the task is used on other platforms?Diğer platformlarda çalışırken bile Linux dosya izinlerini ayarlamak için Maven montaj eklentisini kullanın.

Ben 'projesi' tanımlayıcısı ile Maven 2 derleme eklenti kullanmak ise dahil build.sh komut dosyaları için örneğin çalıştırılabilir için kabuk komut dosyası izinlerini ayarlamak için bir yol var?

Örnek:

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

Bu yaratacak üç dosya

  • -project.tar.bz2
  • -project.tar.gz
  • -proje-zip

Ve dosya izinlerini ayarlamak istiyorum. Tüm dosya biçeminde bulunan .sh dosyaları.

cevap

35

Bu, Maven Assembly Plugin assembly descriptor adresinde bulunan fileMode parametresi kullanılarak yapılabilir. Örneğin,

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

harika, teşekkürler! (Ant ile etrafta çalışmaktan çok daha kolay) – mjn

+0

Eklenti RCp'imi Tycho ile derlediğimde nasıl çalışır? Bu dosyaları nereye yazmam gerekiyor? Ben sadece bazı pomx.xml dosyası var ... Tycho ile bir "fileMode" var mı? – user376112

+0

Satır sonları için de iyi –

İlgili konular