Настройки тайм-аута зависимости Maven
Maven сообщает об исключении тайм-аута при загрузке зависимостей, так как его тайм-аут по умолчанию равен 60000, но в моем случае мне нужно его увеличить, потому что (В среде, где я работаю, установлен промежуточный сервер, который сначала загружает все файлы на свой собственный сервер и мою машину получить эти загруженные файлы с этого сервера-посредника). Теперь возникает проблема: если зависимость слишком велика просто, что занимает более 60000 миль секунд, то Eclipse Burst со следующим исключением
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] Arquillian Persistence Extension Aggregator
[INFO] Arquillian Persistence Extension API
[INFO] Arquillian Persistence Extension SPI
[INFO] Arquillian Persistence Extension Core
[INFO] Arquillian Persistence Extension DBUnit Integration
[INFO] Arquillian Persistence Extension Integration Tests
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Arquillian Persistence Extension Aggregator 1.0.0.Final-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-java-version) @ arquillian-persistence-parent ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven-version) @ arquillian-persistence-parent ---
[INFO]
[INFO] --- maven-dependency-plugin:2.3:unpack (unpack) @ arquillian-persistence-parent ---
[INFO] Configured Artifact: org.wildfly:wildfly-dist:8.0.0.Final:zip
Downloading: http://repo.maven.apache.org/maven2/org/wildfly/wildfly-dist/8.0.0.Final/wildfly-dist-8.0.0.Final.zip
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Arquillian Persistence Extension Aggregator ....... FAILURE [2:11.315s]
[INFO] Arquillian Persistence Extension API .............. SKIPPED
[INFO] Arquillian Persistence Extension SPI .............. SKIPPED
[INFO] Arquillian Persistence Extension Core ............. SKIPPED
[INFO] Arquillian Persistence Extension DBUnit Integration SKIPPED
[INFO] Arquillian Persistence Extension Integration Tests SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:11.908s
[INFO] Finished at: Wed May 07 11:27:41 PKT 2014
[INFO] Final Memory: 22M/177M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.3:unpack (unpack) on project arquillian-persistence-parent: Unable to resolve artifa
ct. Could not transfer artifact org.wildfly:wildfly-dist:zip:8.0.0.Final from/to central (http://repo.maven.apache.org/maven2): No response received after 60000
[ERROR] org.wildfly:wildfly-dist:zip:8.0.0.Final
[ERROR]
[ERROR] from the specified remote repositories:
[ERROR] central (http://repo.maven.apache.org/maven2, releases=true, snapshots=false)
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
После 60000 ответа не получено, эта линия создает проблемы.
Как решение:
Я использую settings.xml со следующими настройками
<settings>
<servers>
<server>
<id>central</id>
<configuration>
<timeout>120000</timeout>
</configuration>
</server>
</servers>
</settings>
хотя я уверен, что путь к файлу settings.xml указан правильно.
К сожалению, это не работает.
2 ответа
Согласно этому руководству Maven, есть новый способ установки тайм-аутов. Я изменил свой ~/settings.xml
теперь это звучит так...
<server>
<id>central</id>
<configuration>
<httpConfiguration>
<all>
<connectionTimeout>120000</connectionTimeout>
<readTimeout>120000</readTimeout>
</all>
</httpConfiguration>
</configuration>
</server>
Кажется, работает в моем случае. Я пробовал с несуществующим репозиторием, и он, похоже, дает сбой гораздо быстрее, чем раньше, когда я установил оба тайм-аута на 5000. Можете ли вы попробовать?
Для Maven 3.9.0+ или новее вы можете использовать следующее, как описано в Руководстве по транспортировке резольвера :
<server>
<id>central</id>
<configuration>
<connectTimeout>120000</connectTimeout>
<requestTimeout>120000</requestTimeout>
</configuration>
</server>
Исходный ответ ссылается на эту страницу , которая теперь указывает:
Эта страница содержит информацию, специфичную для Wagon, но транспорт по умолчанию в Maven 3.9.0+ больше НЕ Wagon . Обязательно сначала ознакомьтесь с руководством по транспортировке резольвера, так как все изменилось.