2015-02-09 15 views
9

Mam problem podczas publikowania komponent do repozytorium Nexus, Maven przesłać plik dwukrotnie:Maven Maven-Deploy-plugin zawsze przesłać dwukrotnie

  • raz pierwszy z Maven-wdrożyć-plugin GroupID/artifactId/wersja parametry (to co chcę)
  • raz drugi z parametrów pom GroupID/artifactId/wersja (to co ja nie chcę)

ja uruchomić Pakowanie/wdrażanie za pomocą następującego polecenia (patrz pom.xml plik u dołu):

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

Oto fragment konsoli wyjściowego maven przy obchodzeniu fazę wdrożyć (z 6 Pierwsze linie są poprawne, ale zauważyć 2 ostatnie linie z pom GroupID/artifactId/wersję):

[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 

Oto mój plik 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> 

Jakieś idee, aby go rozwiązać?

Dzięki za pomoc.

[EDIT]

Z linii poleceń mvn deploy:deploy-file -e -f pom.xml, to działa dobrze (whitout clean package), ale muszę się pakować przed wdrożeniem ...

+0

Który plik jest ładowany dwa razy? Nie widzę żadnych plików przesłanych dwa razy z dziennika maven (tylko Przesyłanie i przesyłanie). –

+0

ADMINAPP-15.1.0.3.tar.gz plik o zmienionej nazwie assemblage-composant-1.0-20150209.101242-1.tar.gz po raz drugi (nazwa artefaktu pom) – pierrefevrier

+0

Dlaczego dodałeś wtyczkę-maven-deploy do fazy pakietu . Jeśli chcesz wdrożyć artefakty do nexusa, niech maven wykona zadanie za pośrednictwem fazy 'deploy'. Ponadto profil 'compoant-admin' wygląda naprawdę dziwnie, ponieważ spowoduje to problemy. – khmarbaise

Odpowiedz

11

maven-plugin-wdrożyć przesyła plik zdefiniowanych następnie przesyła wszystkie dołączone artefakty projektu. Wtyczka maven-assembly domyślnie dołącza plik wyjściowy do dołączonych artefaktów projektu. To sprawia, że ​​przesyłanie odbywa się dwa razy.

Rozwiązaniem tego problemu jest konfiguracja wtyczki maven-assembly.

<attach>false</attach> 
+1

Jesteś genialny, to wszystko !! Dzięki – pierrefevrier

Powiązane problemy