wagon ssh / scp: нет доступного соединителя для доступа к хранилищу... типа по умолчанию с использованием доступных фабрик WagonRepositoryConnectorFactory
Это ошибка wagon-ssh 2.10?
Что может сработать?
Например, какая комбинация параметров Maven, Wagon-SSH и pom вернет поведение, которое было в Maven 3.0.5 и wagon-ssh 2.4?
После обновления до wagon-ssh 2.10 в моем pom.xml, чтобы проверить, исправит ли это мои проблемы в соответствии с https://issues.apache.org/jira/browse/MDEPLOY-177 см. Также Как исправить или обойти ошибку wagon?
Я получаю следующее сообщение об ошибке:
No connector available to access repository XXX-snapshot-repository
(scp://XXX/srv/repo/snapshots/) of type default
using the available factories WagonRepositoryConnectorFactory
Я предполагал, что это может быть проблема версии maven. На самом деле, я некоторое время придерживался более старой версии Maven 3.0.5, так как wagon-ssh был сломан для передачи scp в течение многих месяцев.
mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
Итак, я обновился до Maven 3.3.3
mvn --version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T13:57:37+02:00)
что немного изменяет сообщение об ошибке:
Cannot access scp://XXX/srv/repo/snapshots/ with type default using the available connector factories: BasicRepositoryConnectorFactory
Изучение не удалось развернуть проект Maven, соединитель недоступен
Кажется, есть разные типы ConnectorFactories
- WagonRepositoryConnectorFactory (Maven 3.0.5)
- BasicRepositoryConnectorFactory (Maven 3.3.3)
- AetherRepositoryConnectorFactory (Maven?)
Заглядывая в /questions/14800850/razem-dlya-razvertyivaniya-maven/14800855#14800855 есть указатель на http://maven.apache.org/guides/mini/guide-using-extensions.html который должен объяснить, как добавлять соединители. (6 человек проголосовали за этот ответ) - но я не нахожу упоминания о ConnectorFactory там.
поиск в интернете для
wagon-ssh ConnectorFactory scp
имеет некоторые ссылки, уже упомянутые в этом вопросе, и:
Есть ли способ заставить maven scp wagon работать последовательно на платформе linux/mac/windows?
где упоминается стиль конфигурации, который я успешно использовал уже около 2 лет.
Я заметил, что следующая загрузка произошла, когда я установил maven только на родительский файл pom.xml:
mvn install
[INFO] Scanning for projects...
Downloading: http://uk.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/2.10/wagon-provider-api-2.10.jar
Downloaded: http://uk.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/2.10/wagon-provider-api-2.10.jar (53 KB at 129.4 KB/sec)
Но это не меняет ситуацию для детского проекта.
Вот выдержка из пом:
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions>
<distributionManagement>
<snapshotRepository>
<id>XXX-snapshot-repository</id>
<name>XXX Maven2 Snapshot Repository</name>
<url>scp://XXX/srv/repo/snapshots/</url>
</snapshotRepository>
</distributionManagement>
2 ответа
Я должен признать, что я чувствую себя немного глупо, но, поскольку у других могут быть подобные проблемы, я показываю, что решило проблему:
<parent>
<groupId>XXX</groupId>
<artifactId>XXX</artifactId>
<version>XXX-SNAPSHOT</version>
<relativePath>../XXX/pom.xml</relativePath>
</parent>
таким образом, объявления пом, показанные выше, просто не собраны.
У вас есть макет подменю и
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions>
Не был найден при загрузке! Как вы решили проблему с помощью ссылки <relativePath>
родитель, wagon-ssh
был наконец найден в родительском помпе.
Кстати, если вы столкнетесь с этой проблемой mvn release
и это единственный шаг, который потерпел неудачу, вам не нужно выпускать снова, просто введите mvn deploy
чтобы завершить выпуск!
Я попробовал "mvn install" в папке pom.xml, и все было настроено автоматически. Теперь я могу запустить свой проект как maven install.
Использовать <url>scpexe://XXX/srv/repo/snapshots/</url>
если только <url>scp://XXX/srv/repo/snapshots/</url>
искать deploy-ssh-external