Maven - 为什么maven除了jar文件之外不会下载依赖pom

时间:2012-04-03 06:35:12

标签: maven maven-2

我有一个Maven项目。我的一个依赖项是一个zip文件。 Maven将此zip文件下载到本地存储库,但pom文件也不存在。我怎样才能指示Maven下载pom文件?我的依赖类型是zip。

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>        

2 个答案:

答案 0 :(得分: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,允许从远程存储库下载命名工件。

答案 1 :(得分:0)

这可能是因为packaging中的pom.xml与依赖项的打包不同。虽然pom.xml的打包为pom,但实际依赖打包为zip

尝试将<packaging>中的pom.xml更改为zip,看看是否解决了问题。