com.eed3si9n#sbt-assembly 的库依赖项;0.13.0:未找到

libraryDependencies for com.eed3si9n#sbt-assembly;0.13.0: not found

我正在构建一个 sbt 插件并想在 sbt-assembly 插件中引用组装任务(取决于我的任务)

为此,我需要将其作为一个库(而不是一个插件)进行引用,并且 sbt 无法以某种方式将其解析为一个库依赖关系

这就是我的 sbt 的样子

sbtPlugin := true

name := "my-sbt-plugin"

scalaVersion := "2.10.6"

sbtVersion := "0.13.0"

resolvers ++= Seq(Resolver.sbtPluginRepo("releases"), Resolver.sbtPluginRepo("snapshots"))

libraryDependencies ++= Seq(
  "com.eed3si9n" % "sbt-assembly" % "0.13.0")

输出看起来像

Resolving com.eed3si9n#sbt-assembly;0.13.0 ...
[warn]  module not found: com.eed3si9n#sbt-assembly;0.13.0
[warn] ==== typesafe-ivy-releases: tried
[warn]   https://repo.typesafe.com/typesafe/ivy-releases/com.eed3si9n/sbt-assembly/0.13.0/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/0.13.0/ivys/ivy.xml
[warn] ==== local: tried
[warn]   /Users/myuser/.ivy2/local/com.eed3si9n/sbt-assembly/0.13.0/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/eed3si9n/sbt-assembly/0.13.0/sbt-assembly-0.13.0.pom
[warn] ==== sbt-plugin-releases: tried
[warn]   https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/0.13.0/ivys/ivy.xml
[warn] ==== sbt-plugin-snapshots: tried
[warn]   https://repo.scala-sbt.org/scalasbt/sbt-plugin-snapshots/com.eed3si9n/sbt-assembly/0.13.0/ivys/ivy.xml
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.eed3si9n#sbt-assembly;0.13.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

它没有解析,因为你没有指定 scala 版本。它应该是这样的:

libraryDependencies ++= Seq(
    "com.eed3si9n" % "sbt-assembly_2.11" % "0.13.0"
)

或者,自动获取项目中使用的 scala 版本:

libraryDependencies ++= Seq(
    // notice the double %% here
    "com.eed3si9n" %% "sbt-assembly" % "0.13.0"
)

但是,sbt-assembly 不应该以这种方式安装。 docs show 您必须将以下行添加到您的 project/plugins.sbt 中:

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

如果开发 sbt 插件,addSbtPlugin 行必须直接进入 ./build.sbt

除了上面的建议我还得补充

resolvers += Resolver.url("bintray-sbt-plugins", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)

到project/plugins.sbt。

它没有解析 Scala - 2.12。

在 - project/plugins.sbt -

中添加以下行
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.5")
resolvers += Resolver.url("bintray-sbt-plugins", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)

要找到正确的路径,请尝试以下操作 -

https://dl.bintray.com/sbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_<version>/

所以,使用2.12版本,可解析路径如下-

https://dl.bintray.com/sbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.5/ivys/

就我而言,将 sbt 程序集版本从 14.3 更正为 14.5 就成功了。请检查你的是什么,然后试试看。

所以在 project\assembly.sbt 中,就像-

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

然后我改成-

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

希望对您有所帮助!

我遇到了同样的问题,我所做的就是删除 ==>

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

行来自 build.sbt 并复制到另一个文件,名为 assembly.sbt 在同一项目级别,其中 build.sbt 是。

它解决了错误。(在 3 小时阅读互联网上的所有帖子后。:-))