Maven - почему maven не загружает pom для зависимостей в дополнение к файлу jar - PullRequest
1 голос
/ 03 апреля 2012

У меня есть проект 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>

команда развертывания:

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 ]

1 голос
/ 03 апреля 2012

Если вы хотите и 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 голосов
/ 03 апреля 2012

Это может быть связано с тем, что packaging в pom.xml отличается от упаковки зависимости. В то время как pom.xml имеет упаковку pom, фактическая упаковка зависимостей zip.

Попробуйте изменить <packaging> в pom.xml на zip и посмотрите, решает ли проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...