Ошибка 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>