Ответ 1
Это, по-видимому, некоторая непонятная ошибка, с которой мне не удалось найти ссылку в Maven 3.0.5 (по умолчанию в тестировании debian). Установка Maven 3.1.1 исправила эту проблему.
Я настроил свой проект для развертывания в моем собственном репозитории. Когда я запускаю mvn deploy
, он выглядит так, как будто он работает, но висит на сцене для загрузки файла maven_metadata.xml
после загрузки банок.
INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ myproject ---
Uploading: scp://myrepodomain/.../myproject-0.06-2.jar
Uploaded: scp://myrepodomain/.../myproject-0.06-2.jar (39013 KB at 6234.1 KB/sec)
Uploading: scp://myrepodomain/.../myproject-0.06-2.pom
Uploaded: scp://myrepodomain/.../myproject-0.06-2.pom (8 KB at 21.6 KB/sec)
Downloading: scp://myrepodomain/.../maven-metadata.xml
320/319 B
.....here is where it just hangs forever
Если я удалю файл maven-metadata.xml
на сервере, он отлично работает и просто загружает только что созданный.
Я должен также упомянуть, что я просто использую простой HTTP-сервер с SCP, я считаю, что более крупные системы артефактов могут быть чрезмерными для того, что я делаю. Я не могу понять, как отладить это. Любые предложения будут оценены.
Это, по-видимому, некоторая непонятная ошибка, с которой мне не удалось найти ссылку в Maven 3.0.5 (по умолчанию в тестировании debian). Установка Maven 3.1.1 исправила эту проблему.
Мне удалось это исправить, заменив все ссылки scp на sftp в моем pom.xml. Преимущество этого решения заключается в том, что он не требует дополнительной настройки. Подробнее см. http://jira.codehaus.org/browse/MNG-5605.
С OS/X 10.9.3 и Maven 3.2.3 у меня была та же проблема.
Кажется, что плагин wagon поврежден при загрузке файлов во время развертывания.
Я решил это, переключив разъем вагона на "Maven Wagon SSH External" , чтобы использовать команду ssh системы.
Ниже моей модификации POM.xml:
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.6</version>
</extension>
переключился на:
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
<version>2.6</version>
</extension>
И заменил
scp://[email protected]
Через
scpexe://[email protected]
в теги URL:
<repository>
...
<url>scpexe://[email protected]</url>
...
</repository>
У меня была такая проблема. Когда я попробовал wget
эти ...maven_metadata.xml
URL-адреса, я получил ответ 404.
Мое решение состояло в том, чтобы сократить время ожидания для этих серверов (от 2 минут по умолчанию до 2 секунд).
Сначала вам нужно найти идентификатор репозитория для этого URL-адреса. То есть, если вы застряли при загрузке с сайта artifactoryonline.org, выполните поиск этого репозитория в своих POM:
$ find . -name 'pom*.xml' | xargs grep factoryonline
Перейдите к найденному POM и выберите идентификатор репозитория.
Затем отредактируйте свой ~/.m2/settings.xml
примерно так:
<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
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>Metamarkets-repository</id>
<configuration>
<httpConfiguration>
<all>
<connectionTimeout>2000</connectionTimeout>
<readTimeout>2000</readTimeout>
</all>
</httpConfiguration>
</configuration>
</server>
</servers>
</settings>
Это заставит загрузку сдаваться через 2 секунды и продолжить сборку (при условии, что maven_metadata.xml
будет загружен из другого места).