2015-06-12 18 views

回答

2

一种解决方法是将映射它两次,排除一个映射中的文件并排除下一个文件夹。任何更好的想法?

<mapping> 
    <directory>/opt/bin</directory> 
    <filemode>755</filemode> 
    <username>myUser</username> 
    <groupname>myUser</groupname> 
    <sources> 
     <source> 
      <location>bin</location> 
      <excludes> 
       <exclude>*.*</exclude> 
      </excludes> 
     </source> 
    <sources> 
</mapping> 

<mapping> 
<directory>/opt/bin</directory> 
<filemode>664</filemode> 
<username>myUser</username> 
<groupname>myUser</groupname> 
<directoryIncluded>false</directoryIncluded> 
<sources> 
    <source> 
     <location>bin</location> 
    </source> 
<sources> 
</mapping> 
6

我通过使用<default??>标签做到了。然后,如果你需要覆盖默认设置,你可以使用<filemode>标签的<mapping>部分(但<defaultDirmode><defaultUsername><defaultGroupname>只适用于<mapping>如果<filemode><username>,并且不填充<groupname>)。这里是plugin parameter documentation

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>rpm-maven-plugin</artifactId> 
    <version>2.1.3</version> 

    .... 

    <configuration> 
     .... 
     <defaultDirmode>755</defaultDirmode> 
     <defaultFilemode>644</defaultFilemode> 
     <defaultGroupname>MyGroup</defaultGroupname> 
     <defaultUsername>MyUser</defaultUsername> 
     .... 
    </configuration> 
</plugin>