我正在将混合构建环境转换为基于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的任何路径信息。
我尝试了多种配置解析器的方法,甚至是应该失败的用户/主机,结果也不会改变。
显示解析器 [info] List(SftpRepository(MY REPO,SshConnection(Some(KeyFileAuthentication(aUser,/ home / aUser / .ssh / id_rsa,None)),Some(aHost),None),Patterns(ivyPatterns = List(),artifactPatterns =列表(/ repoBase / [organization] / module(_ [sbtVersion])/ [revision] / [artifact] -revision。[ext]),isMavenCompatible = true,descriptorOptional = false,skipConsistencyCheck = false)))
我确实看到有人遇到了同样的问题,并表示在12年内从SSH切换到SFTP修复了它。我使用的是13.7
我已经走到了互联网的尽头,请稍微扩展一下。
谢谢!
答案 0 :(得分:0)
我有类似的问题,它没有列出它尝试过的任何网址。我添加了我在发布时使用的Pattern
,并修复了问题。另外,我已将我的解析器作为顺序中的第一个。
resolvers in ThisBuild := (Resolver.sftp("MY Repo", "example.com", 22, "sbt-repos/releases")(Patterns("[organisation]/[module](_[scalaVersion])(_[sbtVersion])/[revision]/[type]s/[artifact](-[classifier]).[ext]"))) +: resolvers.value
我正在使用0.13.9
。我经常搜索这个,经过这么多试验后终于找到了。希望这会对某人有所帮助。
答案 1 :(得分:0)
val sftpRes = {
val privateKeyFile = new java.io.File(sys.env("HOME") + "/.ssh/id_rsa")
Resolver.sftp("REPO", "gitHost", "/path/to/data/")(Resolver.ivyStylePatterns) as ("user", privateKeyFile)
}
publishMavenStyle := false
publishTo := Some(sftpRes)
使用SBT 1.2.4
最后,这就是我要做的工作。我尝试了Resolver.mavenStylePatterns,但是在那种情况下,SBT从未真正尝试在解析器上查找文件。
在发布和解决上使用常春藤模式对我有用。