2014-01-20 41 views
0

我有這樣的配置:行家裝配不同的名稱

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.nsn.nms.parser</groupId> 
    <artifactId>w4nparser</artifactId> 
    <version>1.0</version> 
    <url>http://maven.apache.org</url> 
    <name>NMSParser</name> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <build> 
     <!-- <finalName>${project.artifactId}-${project.version}</finalName> --> 
     <!-- <finalName>OSS_CD_</finalName> --> 
     <plugins> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.4</version> 
       <configuration> 
        <descriptors> 
         <descriptor>assembly.xml</descriptor> 
         <descriptor>assembly-cisco-ipsla.xml</descriptor> 
         <descriptor>assembly-mpls.xml</descriptor> 
         <descriptor>assembly-juniper-rpm.xml</descriptor> 
        </descriptors> 
        <finalName>OSS_CD_</finalName> 
        <!-- <appendAssemblyId>false</appendAssemblyId> --> 
       </configuration> 
      </plugin> 

     </plugins> 
    </build> 
</project> 

與描述符:

<?xml version="1.0" ?> 
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> 
    <id>${BUILD_NUMBER}-Cisco-IPSLA</id> 
    <formats> 
     <format>tar.gz</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <baseDirectory>/W4NParser/input/</baseDirectory> 

    <fileSets> 
     <fileSet> 

      <includes> 
       <include>/installation/updater.py</include> 
       <include>/installation/config.py</include> 
       <!--cm--> 
       <include>/W4NParser/input/cm/CM_*.xml</include> 
       <include>/W4NParser/input/cm/rtt*.xml</include> 
       <!--pm--> 
       <include>/W4NParser/input/pm/rtt*.xml</include> 


       <!--W4N config files--> 
       <include>../W4N_config_files/MIB/CISCO-ENHANCED-MEMPOOL-MIB.mib</include> 
       <include>../W4N_config_files/MIB/CISCO-RTTMON-RTP-MIB.mib</include> 
       <include>../W4N_config_files/MIB/MPLS-TE-STD-MIB[rfc3812].mib</include> 
       <include>../W4N_config_files/snmp-masks/NSN-CISCO-RTT-SNMP-DISCOVERY.xml</include> 
       <include>../W4N_config_files/snmp-masks/NSN-CISCO-IPSLA-STATSTABLE-SNMP-DISCOVERY.xml</include> 
       <include>../W4N_config_files/device-discovery/NSN-CISCO-RTT-DEVICE-DISCOVERY.xml</include> 



      </includes> 
      <outputDirectory>/w4nparser-cisco-ipsla</outputDirectory> 
      <excludes> 

      </excludes> 
     </fileSet> 
    </fileSets> 
</assembly> 

是否有可能有每個描述符生成的文件不同的名字? 我用id做了一個實驗。然而,它總是以- 例子顯示:

OSS_CD_-32-Cisco-IPSLA.tar.gz 

我嘗試不同的方法來移除第一-但沒有成功。

回答

0

也許有更好的辦法,但你如何定義多個<executions/>並定義不同的<configuration/> -s?

考慮以下幾點:

<?xml version="1.0" ?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.nsn.nms.parser</groupId> 
    <artifactId>w4nparser</artifactId> 
    <version>1.0</version> 
    <url>http://maven.apache.org</url> 
    <name>NMSParser</name> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <build> 
     <!-- <finalName>${project.artifactId}-${project.version}</finalName> --> 
     <!-- <finalName>OSS_CD_</finalName> --> 
     <plugins> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.4</version> 
       <configuration> 
        <descriptors> 
         <descriptor>assembly.xml</descriptor> 
         <descriptor>assembly-cisco-ipsla.xml</descriptor> 
         <descriptor>assembly-mpls.xml</descriptor> 
         <descriptor>assembly-juniper-rpm.xml</descriptor> 
        </descriptors> 
       </configuration> 
       <executions> 
        <execution> 
         <id>execution-1</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
         <configuration> 
          <finalName>OSS_CD_1</finalName> 
         </configuration> 
        </execution> 
        <execution> 
         <id>execution-2</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
         <configuration> 
          <finalName>OSS_CD_2</finalName> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <artifactId>exec-maven-plugin</artifactId> 
       <groupId>org.codehaus.mojo</groupId> 
       <version>1.2.1</version> 
       <executions> 
       <execution><!-- renames the tar-gz --> 
        <id>remaner</id> 
        <phase>verify</phase> 
        <goals> 
        <goal>exec</goal> 
        </goals> 
        <configuration> 
        <executable>${basedir}/build_script/renamer.py</executable> 
        </configuration> 
       </execution> 
       </executions> 
      </plugin>   
     </plugins> 
    </build> 
</project> 
+0

是否可以在程序集插件中添加多個配置標籤? – Zebedeu

+0

檢查我的更新(雖然未經測試)答案。 – carlspring

+0

我會試試看。謝謝。 – Zebedeu

0

以及從來就試着爲我工作了不同的方法。 完成後我更改了文件的名稱。 添加exec-plugin。 這不是更優雅的解決方案,但它工作。

<?xml version="1.0" ?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.nsn.nms.parser</groupId> 
    <artifactId>w4nparser</artifactId> 
    <version>1.0</version> 
    <url>http://maven.apache.org</url> 
    <name>NMSParser</name> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <build> 
     <!-- <finalName>${project.artifactId}-${project.version}</finalName> --> 
     <!-- <finalName>OSS_CD_</finalName> --> 
     <plugins> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.4</version> 
       <configuration> 
        <descriptors> 
         <descriptor>assembly.xml</descriptor> 
         <descriptor>assembly-cisco-ipsla.xml</descriptor> 
         <descriptor>assembly-mpls.xml</descriptor> 
         <descriptor>assembly-juniper-rpm.xml</descriptor> 
        </descriptors> 
        <finalName>OSS_CD_</finalName> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>exec-maven-plugin</artifactId> 
       <groupId>org.codehaus.mojo</groupId> 
       <version>1.2.1</version> 
       <executions> 
       <execution><!-- renames the tar-gz --> 
        <id>remaner</id> 
        <phase>verify</phase> 
        <goals> 
        <goal>exec</goal> 
        </goals> 
        <configuration> 
        <executable>${basedir}/build_script/renamer.py</executable> 
        </configuration> 
       </execution> 
       </executions> 
      </plugin>   
     </plugins> 
    </build> 
</project>