maven - wagon ssh/scp : No connector available to access repository . .. 使用可用工厂 WagonRepositoryConnectorFactory 的默认类型

标签 maven maven-wagon-plugin wagon

这是 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 检查这是否可以解决我的问题
另见 How to fix or workaround wagon bug?

我收到以下错误消息:

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

调查No connector available using eclipse aether package to deploy through maven plugin

我假设这可能是 Maven 版本问题。确实我一直在坚持
wagon-ssh had been broken 以来,使用较旧的 3.0.5 maven 一段时间了用于数月的 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

调查
Failed to deploy maven project, no connector available

似乎有不同类型的 ConnectorFactories
  • WagonRepositoryConnectorFactory (Maven 3.0.5)
  • BasicRepositoryConnectorFactory (Maven 3.3.3)
  • AetherRepositoryConnectorFactory (Maven ?)

  • 调查https://stackoverflow.com/a/18253897/1497139
    有一个指向 http://maven.apache.org/guides/mini/guide-using-extensions.html 的指针这应该解释如何添加连接器(6 人对这个答案投了赞成票) - 但我没有在那里找到对 ConnectorFactory 的提及。

    互联网搜索
    wagon-ssh ConnectorFactory scp
    

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

    Is there any way of having maven scp wagon work consistently on linux/mac/windows platform?

    其中提到了我已经成功使用了大约 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)
    

    但这并没有改变子项目的情况。

    这是 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>
    

    最佳答案

    您有一个子菜单布局和

    <build>
      <extensions>
        <extension>
          <groupId>org.apache.maven.wagon</groupId>
          <artifactId>wagon-ssh</artifactId>
          <version>2.10</version>
      </extension>
    </extensions>
    

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

    顺便说一句,如果你通过 mvn release 遇到这个问题这是唯一失败的一步,不需要再次释放,只需输入mvn deploy完成发布!

    关于maven - wagon ssh/scp : No connector available to access repository . .. 使用可用工厂 WagonRepositoryConnectorFactory 的默认类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33717555/

    相关文章:

    java - 强制 Maven Wagon 插件进行 POST 而不是 PUT

    maven - 在 Maven 中,如何使用 wagon 插件复制文件?

    Maven Wagon SCP 无法建立连接

    python - 从 Python 打包/部署 Maven

    java - 处理 POM : [error] non resolvable import POM 时遇到了一些问题

    java - 使用带有 wildfly 8.2 的 resteasy 3.0.10 启用自动扫描

    java - 指定 JAR 由应用程序容器提供以使其不应包含在 EAR 或 WAR 文件中的正确方法是什么?

    java - maven 按 scp 上传文件