2012-04-03 4 views
1

У меня есть проект Maven. Одна из моих зависимостей - это zip-файл. Maven загружает этот zip-файл в локальный репозиторий, но файл pom тоже отсутствует. Как я могу указать Maven загрузить также файл pom? тип моей зависимости - zip.Maven - почему maven не загружает зависимость pom в дополнение к файлу jar

Файл 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>   

+0

Если файл pom недоступен в удаленном репозитории, maven не создает для вас по умолчанию pom. –

+0

спасибо за ваш ответ. файл pom существует в удаленном репо. – user1116377

+0

Можете ли вы опубликовать соответствующий фрагмент помпе с соответствующей зависимостью? Также отправьте команду, которую вы используете – Raghuram

ответ

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

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

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

Смежные вопросы