2015-02-09 13 views
9

ich ein Problem habe, wenn sie eine Nexus-Repository veröffentliche Komponente, Maven zweimal die Datei hochladen:Maven Maven-deploy-Plugin lädt immer zweimal

  • erstmals mit Maven-bereitstellen-Plugin groupId/artifactId/Version Parameter (das ist, was ich will)
  • Sekunden Zeit mit pom groupId/artifactId/Version Parametern (das ist, was ich nicht will)

I Verpackung/Einsatz mit dem folgenden Befehl starten (siehe pom.xml-Datei an der Unterseite):

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

Hier ist der Ausschnitt aus maven Ausgabekonsole beim Bereitstellen von Phasenbehandlung (die 6 ersten Leitungen korrekt sind, aber die 2 letzten Zeilen mit Pom groupId/artifactId/Version Hinweis):

[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 

Hier Meine pom.xml Datei:

<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> 

Irgendwelche Ideen, um es zu lösen?

Danke für Ihre Hilfe.

[EDIT]

Mit der Kommandozeile mvn deploy:deploy-file -e -f pom.xml, es funktioniert gut (whitout clean package), aber ich brauche, bevor einsetzen zu verpacken ...

+0

Welche Datei wird zweimal hochgeladen? Ich sehe keine Datei, die zweimal aus dem Maven-Protokoll hochgeladen wird (nur Hochladen und Hochladen). –

+0

AdminApp-15.1.0.3.tar.gz Datei umbenannt Assemblage-composant-1.0-20150209.101242-1.tar.gz das zweite Mal (der Name von pom Artefakt) – pierrefevrier

+0

Warum haben Sie hinzugefügt Maven-bereitstellen-Plugin Phase zu verpacken . Wenn Sie Artefakte in Nexus deployen wollen, lassen Sie maven den Job über 'deploy' phase erledigen. Außerdem sieht das Profil 'compoant-admin' sehr seltsam aus, da dies zu Problemen führen kann. – khmarbaise

Antwort

11

Die Maven-bereitstellen-Plugin die Datei uploads Sie angeben, lädt dann alle mit dem Projekt verknüpften Artefakte hoch. Das maven-assembly-plugin fügt die Ausgabedatei standardmäßig an die mit dem Projekt verbundenen Artefakte an. Dadurch wird der Upload für Sie doppelt durchgeführt.

Die Lösung ist dies zu Ihrer Maven-Assembly-Plugin-Konfiguration.

<attach>false</attach> 
+1

Sie sind ein Genie, das ist es !! Danke, Mann – pierrefevrier