【发布时间】:2015-02-16 12:39:28
【问题描述】:
我正在将我们的混合构建环境转换为基于 sbt 的生态系统。我在这个问题上有点障碍。
我已经通过 sftp 将一个库部署到远程存储库,但是当我尝试将其作为依赖项加载时,我遇到了问题。
在 build.sbt 我有:
resolvers += {
val privateKeyFile = new java.io.File(sys.env("HOME") + "/.ssh/id_rsa")
Resolver.sftp("MY REPO", "aHost", "/repoBase/") as ("aUser", privateKeyFile)
}
互动节目更新:
[info] Resolving com.test.it.out#myLib_2.11;1.0 ...
[warn] module not found: com.test.it.out#myLib_2.11;1.0
[warn] ==== local: tried
[warn] /home/bday/.ivy2/local/com.test.it.out#myLib_2.11/1.0/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/com.test.it.out#myLib_2.11/1.0/jsshfs_2.11-1.0.pom
[warn] ==== MY REPO: tried
[info] Resolving jline#jline;2.12 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
它从不列出 MY REPO 的任何路径信息。
我尝试了多种方法来配置解析器,即使是应该失败并且结果不会改变的用户/主机。
显示解析器 [信息] List(SftpRepository(MY REPO,SshConnection(Some(KeyFileAuthentication(aUser,/home/aUser/.ssh/id_rsa,None)),Some(aHost),None),Patterns(ivyPatterns=List(), artifactPatterns= List(/repoBase/[organisation]/module(_[sbtVersion])/[revision]/[artifact]-revision.[ext]), isMavenCompatible=true, descriptorOptional=false, skipConsistencyCheck=false)))
我确实看到有人遇到同样的问题,并说从 SSH 切换到 SFTP 解决了它,在 12.?。我正在使用 13.7
我在这方面已经走到了互联网的尽头,请扩展一下。
谢谢!
【问题讨论】:
-
我可以在库项目中以同样的方式定义解析器并发布到它,所以我想它没有真正的问题。
-
这是一个愚蠢的解决方法!
-
使用 ssshfs 挂载远程仓库:/MY_REMOTE_REPO
-
(我猜这些是一个衬里)解析器 += "My REPO via sshfs" at "file:///MY_REMOTE_REPO" 太糟糕了,我必须为每个人设置它。不会长期削减它
标签: sbt