这是wagon-ssh 2.10的错误吗?
什么可行?
E.g。什么样的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版本的问题。的确,我一直在坚持 对于一个较旧的3.0.5 maven一段时间以来,wagon-ssh had been broken 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
展望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>
答案 0 :(得分:5)
您有子菜单布局和
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions>
上传时未找到!当您通过引用父<relativePath>
来解决问题时,最终在父pom中找到了wagon-ssh
。
顺便说一句,如果你遇到mvn release
这个问题,这是失败的唯一步骤,你不需要再次发布,只需输入mvn deploy
即可完成发布!
答案 1 :(得分:3)
我必须承认我觉得有点愚蠢,但由于其他人可能有类似的问题,我正在展示解决问题的原因:
<parent>
<groupId>XXX</groupId>
<artifactId>XXX</artifactId>
<version>XXX-SNAPSHOT</version>
<relativePath>../XXX/pom.xml</relativePath>
</parent>
所以上面显示的pom声明根本就没有被拾取。
答案 2 :(得分:0)
使用<url>scpexe://XXX/srv/repo/snapshots/</url>
,除非<url>scp://XXX/srv/repo/snapshots/</url>
答案 3 :(得分:0)
我在pom.xml位置尝试了“ mvn install”,所有东西都自动配置了。现在,我可以在maven install中运行我的项目了。