2012-04-03 85 views
1

我有一個Maven項目。我的一個依賴是一個zip文件。 Maven將此zip文件下載到本地存儲庫,但pom文件也不存在。我如何指示Maven下載pom文件?我的依賴類型是zip。Maven - 爲什麼maven除了jar文件外不會下載依賴項pom

pom文件存在於遠程存儲庫中。 的POM文件:

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

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" 

的依賴:

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

+0

如果pom文件在遠程存儲庫中不可用maven不會爲您創建默認pom。 – 2012-04-03 06:39:38

+0

感謝您的回答。 pom文件存在於遠程倉庫中。 – user1116377 2012-04-03 06:52:07

+0

你可以發佈相關問題的POM的相關片段嗎?另外發布你正在運行的命令 – Raghuram 2012-04-03 07:19:22

回答

1

如果您想同時使用zip和pom,您可以將它們指定爲依賴關係。

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

另一種方式來做到這一點,如果你不希望指定POM作爲一個依賴:Maven的依賴插件有一個get mojo,允許名爲文物的下載從遠程倉庫。

0

這可能是因爲在pom.xmlpackaging從不同包裝的依賴ndency。雖然pom.xml的包裝爲pom,但實際的依賴包裝爲zip

嘗試將<packaging>改爲pom.xml改爲zip,看看是否解決了問題。

相關問題