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 ...
Quale file viene caricato due volte? Non vedo alcun file che viene caricato due volte dal log di Maven (solo caricamento e caricamento). –
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
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