2015-02-09 15 views
9

Ho un problema durante la pubblicazione componente a un repository Nexus, Maven caricare il file due volte:Maven Maven implementare-plugin caricare sempre due volte

  • prima volta con Maven-distribuire-plugin groupId/artifactId/versione parametri (che è quello che voglio)
  • secondo tempo con i parametri pom groupId/artifactId/versione (questo è quello che NON voglio)

lancio confezione/distribuzione con il seguente comando (vedi file pom.xml in basso):

mvn clean package deploy:deploy-file -e -f pom.xml

Ecco il frammento di console di output Maven nella manipolazione fase di distribuzione (le prime 6 linee sono corretti a meno di notare le ultime 2 linee con pom groupId/artifactId/versione):

[INFO] --- maven-deploy-plugin:2.8.2:deploy-file (default-cli) @ assemblage-playbook --- 
Uploading: http://urlRepo:8080/nexus/content/repositories/snapshots/COMPOSANTS/COMPOSANT-A/1.0/COMPOSANT-A_1.0.tar.gz 
Uploaded: http://urlRepo:8080/nexus/content/repositories/snapshots/COMPOSANTS/COMPOSANT-A/1.0/COMPOSANT-A_1.0.tar.gz (2 KB at 2.7 KB/sec) 
Downloading: http://urlRepo:8080/nexus/content/repositories/snapshots/COMPOSANTS/COMPOSANT-A/maven-metadata.xml 
Downloaded: http://urlRepo:8080/nexus/content/repositories/snapshots/COMPOSANTS/COMPOSANT-A/maven-metadata.xml (321 B at 4.6 KB/sec) 
Uploading: http://urlRepo:8080/nexus/content/repositories/snapshots/COMPOSANTS/COMPOSANT-A/maven-metadata.xml 
Uploaded: http://urlRepo:8080/nexus/content/repositories/snapshots/COMPOSANTS/COMPOSANT-A/maven-metadata.xml (321 B at 1.6 KB/sec) 
Downloading: http://urlRepo:8080/nexus/content/repositories/snapshots/com/com.mycompany/assemblage-playbook/1.0-SNAPSHOT/maven-metadata.xml 
Uploading: http://urlRepo:8080/nexus/content/repositories/snapshots/com/com.mycompany/assemblage-playbook/1.0-SNAPSHOT/assemblage-playbook-1.0-20150209.154427 

Ecco il mio file pom.xml:

<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> 
    <artifactId>assemblage-playbook</artifactId> 
    <packaging>pom</packaging> 
    <name>assemblage-playbook</name> 

    <parent> 
     <groupId>com.mycompany</groupId> 
     <artifactId>parent</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <relativePath>../../../parent/pom.xml</relativePath> 
    </parent> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.5.2</version> 
       <configuration> 
        <descriptors> 
         <descriptor>assembly/playbook-assembly.xml</descriptor> 
        </descriptors> 
        <finalName>COMPOSANT-A-1.0</finalName> 
        <appendAssemblyId>false</appendAssemblyId> 
       </configuration> 
       <executions> 
        <execution> 
         <id>make-assembly</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-deploy-plugin</artifactId> 
       <version>2.8.2</version> 
       <executions> 
        <execution> 
         <id>default-cli</id> 
         <phase>package</phase> 
         <goals> 
          <goal>deploy-file</goal> 
         </goals> 
         <configuration> 
          <file>target/COMPOSANT-A-1.0.tar.gz</file> 
          <repositoryId>nexus</repositoryId> 
          <groupId>COMPOSANTS</groupId> 
          <artifactId>COMPOSANT-A</artifactId> 
          <version>1.0</version> 
          <generatePom>false</generatePom> 
          <packaging>tar.gz</packaging> 
          <url>http://urlRepo:8080/nexus/content/repositories/snapshots</url> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

Qualche idea per risolverlo?

Grazie per il vostro aiuto.

[EDIT]

Con la linea di comando mvn deploy:deploy-file -e -f pom.xml, funziona bene (whitout clean package), ma ho bisogno di pacchetto prima di distribuire ...

+0

Quale file viene caricato due volte? Non vedo alcun file che viene caricato due volte dal log di Maven (solo caricamento e caricamento). –

+0

File ADMINAPP-15.1.0.3.tar.gz, rinominato assemblage-composant-1.0-20150209.101242-1.tar.gz la seconda volta (il nome di pom artefatto) – pierrefevrier

+0

Perché è stato aggiunto maven-deploy-plug-in alla fase di pacchetto . Se ti piace distribuire artefatti su nexus, lascia che Maven faccia il lavoro tramite la fase 'deploy'. Inoltre, il profilo 'compoant-admin' sembra davvero strano perché ciò causerà problemi. – khmarbaise

risposta

11

Il Maven-distribuire-plugin carica il file specificato quindi carica tutti gli artefatti collegati al progetto. Il plug-in maven-assembly-default assegna per impostazione predefinita il file di output alle risorse utente collegate al progetto. Questo fa sì che il caricamento avvenga due volte per te.

La correzione è a questa configurazione del plugin maven-assembly-plug.

<attach>false</attach> 
+1

Sei un genio, il gioco è fatto !! Grazie uomo – pierrefevrier

Problemi correlati