7

这是 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解决我的问题后, 另请参阅如何修复或解决 wagon 错误?

我收到以下错误消息:

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

调查没有可用的连接器使用 eclipse aether 包通过 maven 插件进行部署

我假设这可能是一个 Maven 版本问题。事实上,自从wagon-ssh因 scp 传输而中断数月以来,我一直坚持使用较旧的 3.0.5 maven

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

  1. WagonRepositoryConnectorFactory (Maven 3.0.5)
  2. BasicRepositoryConnectorFactory (Maven 3.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

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

有没有办法让 maven scp wagon 在 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)

但这不会改变子项目的情况。

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

4 回答 4

5

你有一个子菜单布局和

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

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

顺便说一句,如果你遇到这个问题,mvn release并且这是唯一失败的步骤,你不需要再次发布,只需键入mvn deploy即可完成发布!

于 2016-07-23T21:00:44.977 回答
5

我必须承认我觉得自己有点愚蠢,但由于其他人可能有类似的问题,我正在展示解决问题的方法:

<parent>
    <groupId>XXX</groupId>
    <artifactId>XXX</artifactId>
    <version>XXX-SNAPSHOT</version>
    <relativePath>../XXX/pom.xml</relativePath>
</parent>

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

于 2015-11-15T12:52:34.067 回答
0

使用<url>scpexe://XXX/srv/repo/snapshots/</url>除非 <url>scp://XXX/srv/repo/snapshots/</url>

查找deploy-ssh-external

于 2019-11-06T17:20:45.037 回答
0

我在 pom.xml 位置尝试了“mvn install”,所有的东西都自动配置了。现在我可以将我的项目作为 maven install 运行。

于 2020-01-13T13:30:42.447 回答