2017-10-25 1 views
0

Ich habe eine Maven Build, was einige Jar-Dateien aus dem gleichen Verzeichnis in Nexus herunterladen soll. Es gibtMaven Build nicht herunterladen alle benötigten Dateien

myproduct_model-1.32-SNAPSHOT.jar 
and 
myproduct_model-1.32-SNAPSHOT-liquibase.jar 

Den Build erfolgreich den ersten Download, aber nicht die zweite. Wie kann ich das erzwingen?

+0

Diese beiden Dateien nicht im selben Verzeichnis in Nexus sein können. wegen unterschiedlicher "Versionsnummer" – Jens

+0

Danke. Was kann ich tun, um sie zu trennen? – GergA

+0

in ein bestimmtes Verzeichnis einfügen und dann beide Dateien als Abhängigkeit hinzufügen – Jens

Antwort

1

Sie können das <classifier> Element auf Abhängigkeiten, wie zum Beispiel:

<dependency> 
     <groupId>com.deltabasics</groupId> 
     <artifactId>myproduct_model</artifactId> 
     <version>${version-myproduct_model}</version> 
    </dependency> 
    <dependency> 
     <groupId>com.deltabasics</groupId> 
     <artifactId>myproduct_model</artifactId> 
     <version>${version-myproduct_model}</version> 
     <classifier>liquibase</classifier> 
    </dependency> 

Dies wird Maven beiden Abhängigkeiten macht herunterladen, auch wenn sie die gleiche Version verwenden wie der Klassifikator unterschiedlich ist. Wenn Sie diese Abhängigkeiten herunterladen in Ihrem Projekt target Verzeichnis sein wollen, verwenden Sie die Maven-Abhängigkeit-Plugin mit der gleichen Methode:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <version>3.0.2</version> 
     <executions> 
      <execution> 
       <id>copy</id> 
       <phase>package</phase> 
       <goals> 
        <goal>copy</goal> 
       </goals> 
       <configuration> 
        <artifactItems> 
         <artifactItem> 
          <groupId>com.deltabasics</groupId> 
          <artifactId>myproduct_model</artifactId> 
          <version>${version-myproduct_model}</version> 
          <type>jar</type> 
         </artifactItem> 
         <artifactItem> 
          <groupId>com.deltabasics</groupId> 
          <artifactId>myproduct_model</artifactId> 
          <version>${version-myproduct_model}</version> 
          <type>jar</type> 
          <classifier>liquibase</classifier> 
         </artifactItem> 
        </artifactItems> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 
+0

Danke. Ich werde es am Montag überprüfen – GergA

+0

@GergA hat diese Lösung gab Ihnen die erwarteten Ergebnisse? –

+0

Leider nicht. Ich habe den folgenden Fehler erhalten [FEHLER] Fehler beim Ausführen des Ziels org.apache.maven.plugins: maven-dependency-plugin: 3.0.2: Kopieren (Kopieren) auf Projekt qa-system-deployment-qa: Kann nicht gefunden/aufgelöst werden Artefakt. Konnte Artefakt nicht finden com.deltabasics: myproduct_model: jar: liquibase: 1.32-SNAPSHOT "org.apache.maven.lifecycle.LifecycleExecutionException: Fehler beim Ausführen des Ziels org.apache.maven.plugins: maven-dependency-plugin: 3.0. 2: Kopie (Kopie) auf Projekt qa-System-Deployment-qa:. Unfähig/beheben Artefakt zu finden ", – GergA

0

Ich habe versucht, die folgenden Zeilen

 <dependency> 
      <groupId>com.deltabasics</groupId> 
      <artifactId>myproduct_model</artifactId> 
      <version>${version-myproduct_model}-liquibase</version> 
     </dependency> 

Leider ist die Maven machte die anderen Ordner anstelle des Herunterladens hinzuzufügen.

+0

Sie meinen nach meiner vorherigen Antwort? (Bitte Kommentar statt Antwort verwenden;)). Ich verstehe nicht, was Sie meinen, indem Sie "den anderen Ordner statt Download" gemacht haben. –

+0

NoNo. Das ist meine alte Antwort, wo ich versucht habe zu zeigen, was ich vorher gemacht habe. :-) – GergA

Verwandte Themen