我正在尝试将我的库上传到我们公司内的私有(private) Maven 存储库。 我可以从我的 mac/linux 终端通过 ssh 访问服务器/repo,但我无法配置 wagen-ssh (2.2) 以将其上传到 repo。
我按照此处所述编写了 gradle 任务: https://docs.gradle.org/current/userguide/maven_plugin.html
configurations {
deployerJars
}
dependencies {
...
deployerJars 'org.apache.maven.wagon:wagon-ssh:2.2+'
}
uploadArchives {
repositories {
mavenDeployer {
configuration = configurations.deployerJars
repository(url: "scp://{server}/var/www/maven") {
authentication(userName: "myUsername", password: "myPassword")
}
pom.version = '0.1.0'
pom.groupId = 'com.mycompany'
pom.artifactId = 'mylib'
}
}
}
但每次我尝试执行 gradle 任务时,我都会收到错误消息: 无法部署 Artifact :无法将 Artifact com.mycompany:mylib:aar:0.1.0 从/传输到远程 (scp://{server}/var/www/maven):主机未知且未被接受配置:{server}
我认为 wagon 使用的是自己的内部 ssh 客户端。我怎样才能告诉这个客户接受我的主机,或者接受任何主机?! 还是我错了,还有其他问题?
最佳答案
好的,我自己找到了解决方案: 我服务器的 known_hosts 文件中的条目是
ecdsa-sha2-nistp256
但是wagon的ssh客户端只能理解rsa。 所以
ssh -o HostKeyAlgorithms=ssh-rsa-cert-v01@openssh.com,ssh-rsa {您的主机}
施展魔法。
关于android - 使用 apache maven wagon ssh 上传到私有(private) maven repo |未知主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40040870/