13

我正在运行 sbt 0.13.0 并且有一个带有sbt-assembly的项目,通过:

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2")

执行后sbt assembly,我收到以下消息:

[info] Resolving com.eed3si9n#sbt-assembly;0.11.2 ...
[warn]  module not found: com.eed3si9n#sbt-assembly;0.11.2
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/com.eed3si9n/sbt-assembly/scala_2.10/sbt_0.13/0.11.2/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.10/sbt_0.13/0.11.2/ivys/ivy.xml
[warn] ==== local: tried
[warn]   /Users/szalwinb/.ivy2/local/com.eed3si9n/sbt-assembly/scala_2.10/sbt_0.13/0.11.2/ivys/ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/com/eed3si9n/sbt-assembly_2.10_0.13/0.11.2/sbt-assembly-0.11.2.pom

typesafe repo 和 maven repo 一样会产生 404。它在本地(显然)不存在,这让我想到了最后一个选项,scala-sbt repo。可悲的是,我公司的网络保姆认为 scala-sbt repo 是一个文件共享站点并阻止访问。为了解决这个问题,我目前放弃了公司网络,进行构建,然后重新启动。

是否有另一个包含 sbt-assembly 的仓库?或者我可以使用 maven 或 typesafe repos 上的另一个版本的 sbt-assembly?

4

3 回答 3

7

插件的标准存储库(http://repo.scala-sbt.org)基本上只是反映了sbt/sbt-plugins-releasesBintray的存储库,人们通常在这里发布他们的 sbt 插件。请参阅 sbt 文档:Bintray for plugins

因此,您应该能够直接添加该 repo:

resolvers += "Bintray sbt plugin releases"
  at "http://dl.bintray.com/sbt/sbt-plugin-releases/"

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2")
于 2014-07-29T22:39:08.787 回答
5

Typesafe 存储库已迁移到 Bintray - https://www.typesafe.com/blog/migrating-repos-to-bintray

尝试在你的 plugins.sbt 中添加解析器:

resolvers += Resolver.url("bintray-sbt-plugins", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
于 2015-07-23T21:09:12.973 回答
0

在您的情况下,您可能会发现在本地构建插件非常有用。只是git clone存储库并publishLocal在您的本地 Ivy2 存储库中提供可用的版本。

我认为最后一个选项publishLocal可能是最好的解决方法(直到你最终说服你公司的保姆它是一个正确的文件共享站点)。

于 2014-07-29T21:25:37.637 回答