wagon ssh/scp:没有连接器可用于访问存储库...类型默认使用可用的工厂WagonRepositoryConnectorFactory

Wol*_*ahl 5 maven wagon maven-wagon-plugin

这是wagon-ssh 2.10的错误吗?

有什么用?

例如,Maven,Wagon-SSH和pom设置的组合将获得与Maven 3.0.5和wagon-ssh 2.4相同的行为?

在我的pom.xml中升级到wagon-ssh 2.10之后,根据https://issues.apache.org/jira/browse/MDEPLOY-177检查这是否能解决我的问题, 另请参阅如何修复或解决旅行车错误?

我收到以下错误消息:

No connector available to access repository XXX-snapshot-repository 
(scp://XXX/srv/repo/snapshots/) of type default 
using the available factories WagonRepositoryConnectorFactory
Run Code Online (Sandbox Code Playgroud)

展望没有可用的连接器使用eclipse以太网包通过Maven插件部署

我假设它可能是一个maven版本的问题.事实上,我已经坚持了一个较旧的3.0.5 maven一段时间,因为wagon-ssh已被打破了几个月的scp转移

mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
Run Code Online (Sandbox Code Playgroud)

所以我升级到Maven 3.3.3

mvn --version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T13:57:37+02:00)
Run Code Online (Sandbox Code Playgroud)

稍微修改错误消息:

Cannot access scp://XXX/srv/repo/snapshots/ with type default using the available connector factories: BasicRepositoryConnectorFactory
Run Code Online (Sandbox Code Playgroud)

展望 无法部署maven项目,没有可用的连接器

似乎有不同类型的ConnectorFactories

  1. WagonRepositoryConnectorFactory(Maven 3.0.5)
  2. BasicRepositoryConnectorFactory(Maven 3.3.3)
  3. AetherRepositoryConnectorFactory(Maven?)

查看/sf/answers/1277772821/, 有一个指向http://maven.apache.org/guides/mini/guide-using-extensions.html的指针,它应该解释如何添加连接器(6人赞成这个答案) - 但我没有在那里找到ConnectorFactory.

互联网搜索

wagon-ssh ConnectorFactory scp
Run Code Online (Sandbox Code Playgroud)

有这个问题中已经提到的一些链接,并且:

有什么办法让maven scp旅行车在linux/mac/windows平台上保持一致吗?

我提到的配置风格已经成功使用了2年了.

我发现当我在父pom.xml上单独进行maven安装时发生了以下下载:

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)
Run Code Online (Sandbox Code Playgroud)

但这并没有改变儿童项目的情况.

这是pom的摘录:

   <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>
Run Code Online (Sandbox Code Playgroud)

Wol*_*ahl 5

我必须承认我感觉有点愚蠢,但由于其他人可能也有类似的问题,我将展示解决问题的方法:

<parent>
    <groupId>XXX</groupId>
    <artifactId>XXX</artifactId>
    <version>XXX-SNAPSHOT</version>
    <relativePath>../XXX/pom.xml</relativePath>
</parent>
Run Code Online (Sandbox Code Playgroud)

所以上面显示的 pom 声明根本没有被拾取。


Pet*_*der 5

您有一个子菜单布局,

<build>
  <extensions>
    <extension>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-ssh</artifactId>
      <version>2.10</version>
  </extension>
</extensions>
Run Code Online (Sandbox Code Playgroud)

上载时找不到!当您通过引用<relativePath>父级解决问题时,wagon-ssh终于在父级pom中找到了。

顺便说一句,如果您遇到此问题mvn release并且这是唯一失败的步骤,则无需再次发布,只需键入mvn deploy以完成发布!