Ошибка Maven - отказ от передачи

Я изучаю примеры spring в сети. У меня есть один пример из

http://code.google.com/p/spring-finance-manager/

При импорте проекта в моем затмении я получил ошибку в файле POM.xml.

Multiple annotations found at this line:
- Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.5 from http://repo.maven.apache.org/maven2 was cached in the 
 local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer 
 artifact org.apache.maven.plugins:maven-resources-plugin:pom:2.5 from/to central (http://repo.maven.apache.org/maven2): null to http://
 repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom
- connection timed out
- Failure to transfer org.apache.maven.plugins:maven-source-plugin:pom:2.0.4 from http://repo.maven.apache.org/maven2 was cached in the 
 local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer 
 artifact org.apache.maven.plugins:maven-source-plugin:pom:2.0.4 from/to central (http://repo.maven.apache.org/maven2): connection timed out to 
 http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-source-plugin/2.0.4/maven-source-plugin-2.0.4.pom

Я также попытался удалить мою папку .m2\repository. Но все равно получить ошибку.

Может ли кто-нибудь помочь мне решить эту проблему?

Ответ 1

Да, я сам испытал эту проблему. Вот еще несколько замечаний:

  • Раньше, когда у меня была эта ошибка, я бы пошел в Maven → Update Maven Project, и если это не сработает, Maven → Update Maven Project и "Force Update snapshots/releases". Эта техника будет работать.
  • Через некоторое время № 1 перестала работать. Однако, когда я построил один и тот же проект в той же рабочей области без прокси-сервера, он работал.
  • Применение параметров settings.xml с информацией прокси не решает эту проблему, указанную ниже:

Не удалось передать артефакт org.apache.maven.plugins: maven-resources-plugin: pom: 2.6 от/до central (http://repo.maven.apache.org/maven2): время ожидания подключения

Мне также интересно, что это на самом деле означает: что именно передается и откуда и где? Я считаю, что у нас есть файлы .pom в наших рабочих пространствах и основаны на pom, необходимые артефакты будут загружены в наши локальные хранилища maven. Эти репозитории далее упоминаются в нашем пути сборки IDE.

Почему он "разыгрывает" определенные артефакты, а не другие? Кроме того, эти вещи, похоже, указывают на "org.eclipse.m2.core". Чтобы быть более точным, комбинация org.eclipse.m2.core и прокси-сервера закручивает ее - что в качестве разработчиков мы не контролируем. Это очень расстраивает.

То, что мы не знаем, может серьезно повредить нам - динамика в случае - (eclipse + proxy).

Ответ 2

Выяснилось решение после некоторого тяжелого поиска: в дополнение к добавлению информации прокси в файле settings.xml мне также пришлось добавить следующее, чтобы проблема исчезла. Еще раз, это проблема только при наличии прокси. Это спокойствие перед следующей затмением, связанной с загадочной слепой сеткой, - думаю.

  <activeProfiles>
    <activeProfile>securecentral</activeProfile>
  </activeProfiles>

  <profiles>
    <profile>
      <id>securecentral</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2</url>
          <releases>
            <enabled>true</enabled>
          </releases>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2</url>
          <releases>
            <enabled>true</enabled>
          </releases>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

Ответ 3

Вы получаете исключение тайм-аута, запрашивающее http://repo.maven.apache.org/maven2 репозиторий. Время от времени http://repo.maven.apache.org/maven2 работает неправильно. Также возможны другие сетевые проблемы, такие как DNS-хосты, сетевой хаб, сетевые параметры прокси и т.д.

Ответ 4

Я столкнулся с теми же проблемами во многих разных сетях, которые обычно не происходят из-за вашего интернета или сети, что проблема с Maven repo, в качестве решения я очистил свой локальный каталог .m repo и загрузил файлы jar снова через maven/обновить зависимости maven. вопрос исчезнет. и что только один раз процесс, не нужно делать это каждый раз.

Ответ 5

Предоставьте файл settings.xml для maven, который содержит информацию о пользователе и пароле для подключения к репозиторию. Файл settings.xml содержит такую ​​информацию -

<repository>
<id>your_nexus_repo_id</id>
<url>https://path_to_nexus_repo_location</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>

<server>
  <id>dsnexus1</id>
      <username>your_user_id</username>
       <password>your_password</password>
</server>

Вы можете предоставить файл settings.xml в Eclipse следующим образом:

  • В Eclipse IDE перейдите в Windows → Предпочтения → Maven → Настройки пользователя
  • Предоставьте параметр settings.xml в поле "Настройки пользователя" с помощью кнопки "Обзор". Файл settings.xml должен находиться в папке /user -home/.m2/.

После этого -

  • Щелкните правой кнопкой мыши на своем проекте
  • Перейти к - Maven → Обновить проект
  • Нажмите "Принудительное обновление", чтобы получить последние копии выпусков моментальных снимков.

Теперь создайте свой проект -

  • Щелкните правой кнопкой мыши свой проект.
  • Перейти в Run As → Maven Build
  • Предоставить цели: "clean install"
  • Нажмите "Выполнить"

Это должно решить вашу проблему:)

Ответ 6

Эта проблема в основном связана с тем, что брандмауэр лучше использует прокси. В settings.xml (.m2\repository\settings.xml) добавьте соответствующие настройки proxy, чтобы сообщить Maven прокси-серверу, чтобы загрузить артефакты

<settings>
    .......
    <proxies>
        <proxy>
            <active>true</active>
            <protocol>http</protocol>
            <host>your_proxy_host</host>
            <port>your_proxy_port</port>
            <!-- Its optional  if you need user name and password to connect proxy remove comment.
            <username>proxyuser</username>
            <password>somepassword</password>
            <nonProxyHosts>*.yourdomain.com|*.yourOtherDomain.com</nonProxyHosts>
            -->
        </proxy>
    </proxies>
</settings>