2010-11-16 13 views
9

Ich habe in der Web-Anwendung Pom-Datei, ein Build-Profil, das einige notwendige Dinge (in meinem Code) für qa testet.Ändern Sie den Namen des bereitgestellten Artefakts basierend auf Profil

Ich habe diesen Code auf svn und dieser Code wird in Hudson zusammengestellt, die Artefakte in Zusammenhang setzt ..

Hudson hat zwei Jobs, eine für qa Profil (-P qa) und eine für den Kunden.

Was ich brauche, ist, dass ich in meinem qa Profil den Namen des Artefakts während der Bereitstellungsphase ändere, so dass nexus zwei verschiedene Kriegsdateien hat, eine für qa und eine für den Kunden.

Ich benutze (nach Google-Suche) das Folgende, das aussieht, als ob es nichts in Hudshon tut!

<profile> 
     <id>qa</id> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-deploy-plugin</artifactId> 
        <version>2.5</version> 
        <configuration> 
         <classifier>qa</classifier> 
        </configuration> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 

irgendwelche ideen jemand?

Antwort

12

Sie müssen tatsächlich die „Sichter“ Konfigurationsoption auf das Plugin setzen, die das Paket baut, die bereitgestellt ist wird: maven- (Ohr | ejb | Glas | rar | Krieg | Schatten) -plugin:

Zum Beispiel , einen Krieg mit einem qa Klassifikator zu bauen, würden Sie wie folgt vor:

<profile> 
    <id>qa</id> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.1.1</version> 
       <configuration> 
        <classifier>qa</classifier> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</profile> 

auch anstelle der Klassifikator der Einstellung, die Sie mit einer der folgenden (die meisten Standard project.build.finalName einstellen könnte, so einstellen, dass Eigenschaften aktualisiert viele von diesen):

  • Allgemeine
    • project.build.finalName
  • War Plugin
    • warName
  • Ohr | Glas | Rar | Shade Plugin
    • finalName
  • EJB Plugin
    • jarName

Eine letzte Anmerkung: ich das noch nie realisiert, sondern über die Dokumentation suchen, sieht es aus wie das RAR-Plugin nicht die "Klassifikation" Option nicht unterstützt. Shade unterstützt das Klassifizierungskonzept, jedoch über die Eigenschaft "shadedClassifierName".

Verwandte Themen