2013-03-19 3 views
1

Установлен Nexus на нашем сервере и настроен снимок и релиз репозиториев.Ошибка при развертывании артефактов в Nexus от Eclipse

Altered мой файл pom.xml верхнего проекта в моем Maven проекта суб-модуль, добавлены следующие строки:

<distributionManagement> 
    <snapshotRepository> 
     <id>Snapshots</id> 
     <url>http://maven:8081/nexus/content/repositories/Snapshots</url> 
    </snapshotRepository> 
    <repository> 
     <id>Releases</id> 
     <url>http://maven:8081/nexus/content/repositories/Releases</url> 
    </repository> 
    </distributionManagement> 

Я добавил settings.xml в .m2 каталог со следующим содержимым:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
         http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
    <!-- 
    <localRepository/> 
    <interactiveMode/> 
    <usePluginRegistry/> 
    <offline/> 
    <pluginGroups/> 
    --> 
    <servers> 

    <server> 
     <id>Snapshots</id> 
     <username>user</username> 
     <password>pass</password> 

     <privateKey>${user.home}/.ssh/id_dsa</privateKey> 
     <passphrase>some_passphrase</passphrase> 

     <filePermissions>664</filePermissions> 
     <directoryPermissions>775</directoryPermissions> 
     <configuration></configuration> 

    </server> 

    </servers> 
    <!-- 
    <mirrors/> 
    <proxies/> 
    <profiles/> 
    <activeProfiles/> 
    --> 
</settings> 

Когда я бег Maven с целью развертывания из затмения на моем верхнем проект, специалист начинает строить и синхронизации (загрузка) в репозиторий моментальных снимков. Верхний проект получает загружены, но после того, как первый модуль к югу построен и начал синхронизировать я получаю:

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project <my sub module project>: Failed to deploy artifacts: Could not transfer artifact <group id>:<artifact id>:xml:0.0.1-20130318.160312-21 from/to Snapshots (http://maven:8081/nexus/content/repositories/Snapshots): Remotely Closed [id: 0x017ae341, /192.168.10.237:58758 :> maven/192.168.10.36:8081] 

странная вещь, что если я просматривать мой репозиторий от Nexus интерфейс суб проекта есть с XML, и баночка-х и т. д. Проблема заключается в том, что из-за ошибки maven останавливается, и все мои другие вспомогательные проекты не развернуты.

Кто-нибудь знает, как это решить?

UPDATE: Если я создаю один проект Maven с distributionManagement тегом я могу развернуть без проблем Nexus. Но когда у меня есть проект multi maven, я получаю ошибку. Я попытался добавить distributionManagement к child-pom, но я получаю ту же ошибку.

Как выглядят посты, как внедрять их в репозиторий относительно тега распределения управления?

+1

«Удаленно закрыто» ... взгляните на журналы Nexus, которые могут помочь. Или что-то с прокси-сервером где-то на пути к вашему репозиторию Nexus. – ben75

+0

читайте это http://maven.apache.org/guides/mini/guide-proxies.html – ben75

+0

Когда вы говорите прокси, вы имеете в виду прокси-сервер maven или прокси-сервер на уровне tcp/ip? Я не думаю, что это может быть проблема прокси, мои артефакты попадают на сервер maven. И если я ввожу неправильные учетные данные в settings.xml, я получаю ошибку авторизации. – Marcus

ответ

2

После нескольких часов расследования я нашел свою проблему. У меня есть раздел в моем родительском pom.xml, который добавляет feature.xml к родительскому репо.

<build> 
     <resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <filtering>true</filtering> 
      </resource> 
     </resources> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-resources-plugin</artifactId> 
       <version>${maven-resources-plugin.version}</version> 
       <executions> 
       <execution> 
        <id>filter</id> 
        <phase>generate-resources</phase> 
        <goals> 
         <goal>resources</goal> 
        </goals> 
       </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>build-helper-maven-plugin</artifactId> 
       <version>${build-helper-maven-plugin.version}</version> 
       <executions> 
        <execution> 
         <id>attach-artifacts</id> 
         <phase>package</phase> 
         <goals> 
          <goal>attach-artifact</goal> 
         </goals> 
         <configuration> 
          <artifacts> 
           <artifact> 
            <file>target/classes/features.xml</file> 
            <type>xml</type> 
           </artifact> 
          </artifacts> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

Это вызвало проблему «с дистанционным закрытием».