2012-04-03 4 views
1

Ich habe ein Maven-Projekt. Eine meiner Abhängigkeiten ist eine Zip-Datei. Maven lädt diese Zip-Datei in das lokale Repository herunter, aber die Pom-Datei ist auch nicht dort. Wie kann ich Maven anweisen, auch die Pom-Datei herunterzuladen? Der Typ meiner Abhängigkeit ist zip.Maven - warum Maven wird nicht die Abhängigkeit pom zusätzlich zu der JAR-Datei herunterladen

Die Pom-Datei existiert im Remote-Repository. die pom-Datei:

<modelVersion>4.0.0</modelVersion> 
<groupId>com.g.g</groupId> 
<artifactId>art</artifactId> 
<name>art</name> 
<version>1-SNAPSHOT</version> 
<packaging>pom</packaging> 


<build> 

    <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 

      <configuration> 

       <descriptors> 
        <descriptor>createZip.xml</descriptor> 
       </descriptors> 

      </configuration> 
      <executions> 
       <execution> 
        <id>make-assembly</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 

</build> 

der Befehl deploy:

call mvn clean install 
call mvn deploy:deploy-file -Durl=url -Dpackaging=zip -Dfile="%~dp0\target\art-1-SNAPSHOT.zip" -DgroupId=com.g.g -DartifactId=art -Dversion=1-SNAPSHOT -DrepositoryId=... -DpomFile="pom.xml" 

die Abhängigkeit:

<dependency> 
<groupId>com.g.g</groupId> 
<artifactId>art</artifactId>  
<version>1-SNAPSHOT</version> 
<type>zip</type>   

+0

Wenn die Pom-Datei nicht im Remote-Repository verfügbar ist, erstellt Maven kein Standard-Pom für Sie. –

+0

danke für deine antwort. Die Pom-Datei existiert im Remote-Repo. – user1116377

+0

Können Sie den relevanten Ausschnitt des Pom mit der fraglichen Abhängigkeit posten? Veröffentlichen Sie auch den Befehl, den Sie ausführen – Raghuram

Antwort

1

Wenn Sie sowohl die Zip als auch die Pom möchten, können Sie beide als Abhängigkeiten angeben.

<dependency> 
<groupId>com.g.g</groupId> 
<artifactId>art</artifactId>  
<version>1-SNAPSHOT</version> 
<type>zip</type> 

<dependency> 
<groupId>com.g.g</groupId> 
<artifactId>art</artifactId>  
<version>1-SNAPSHOT</version> 
<type>pom</type> 

Ein anderer Weg, es zu tun, wenn Sie nicht über die pom als Abhängigkeit angeben mögen: die Maven Abhängigkeit Plugin ein get mojo hat, die das Herunterladen von benannten Artefakte von einer Remote-Repository ermöglicht.

0

Dies könnte, weil die packaging im pom.xml von der unterscheidet Verpackung der Depe Abhängigkeit. Während pom.xml die Verpackung pom hat, ist die tatsächliche Abhängigkeitsverpackung zip.

Versuchen Sie, die <packaging> in pom.xml zu zip zu ändern und zu sehen, wenn das Problem behebt.

Verwandte Themen