【问题标题】:sbt add plugin errorsbt 添加插件错误
【发布时间】:2015-08-24 19:58:07
【问题描述】:

我已经阅读了所有类似的问题,但这些建议都没有解决我的问题。也许我看不到它。

问题是我有 project/plugins.sbt 当我尝试添加例如

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

它给了我

[error] (*:update) sbt.ResolveException: 
unresolved dependency: com.eed3si9n#sbt-assembly;0.11.2: not found

然后我添加

resolvers += "sonatype-releases" at "https://oss.sonatype.org/content/repositories/releases/"

但错误是一样的

我的 sbt 版本是

sbt launcher version 0.13.8

scala 版本是

Scala code runner version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL

也许有人可以为我指出正确的方向。 提前致谢。

编辑: 当我把

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

到项目/assembly.sbt 我遇到了同样的错误

实际上我不认为错误是针对 sbt-assembly 当我尝试添加其他插件时,它给出了同样的错误

[info] Resolving com.eed3si9n#sbt-assembly;0.13.0 ...
[warn]  module not found: com.eed3si9n#sbt-assembly;0.13.0
[warn] ==== local: tried
[warn]   .ivy2/local/com.eed3si9n/sbt-assembly/scala_2.11/sbt_0.13/0.13.0/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/eed3si9n/sbt-assembly_2.11_0.13/0.13.0/sbt-assembly-0.13.0.pom
[warn] ==== Typesafe Repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/com/eed3si9n/sbt-assembly_2.11_0.13/0.13.0/sbt-assembly-0.13.0.pom
[info] Resolving jline#jline;2.12.1 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.eed3si9n#sbt-assembly;0.13.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      com.eed3si9n:sbt-assembly:0.13.0 (sbtVersion=0.13, scalaVersion=2.11)
[warn] 
[warn]  Note: Unresolved dependencies path:
[warn]      com.eed3si9n:sbt-assembly:0.13.0 (sbtVersion=0.13, scalaVersion=2.11) (assembly.sbt#L2-3)
1.0

编辑

对于像我这样粗心的其他人来说还可以 在它所说的所有文档中,例如 project/plugins.sbt 或 project/assembly.sbt 等... 实际上我认为“project”应该是应用程序的项目文件夹,但它是 [your_project_name]/project :( 所以所有提到的conf都应该放在那个目录中。

非常感谢您的回复..

【问题讨论】:

    标签: scala sbt sbt-plugin


    【解决方案1】:

    sbt-assembly:

    对于 sbt 0.13.6+ 添加 sbt-assembly 作为依赖项 project/assembly.sbt:

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

    【讨论】:

    • 1) 尝试删除所有出现的 addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2") 2) 删除 resolvers += "sonatype-releases" ... 3) 或者尝试清理您的 .ivy 文件夹
    • 当我删除它们时它会起作用。顺便说一句,我正在使用想法 sbt 插件。当我刷新它只是给我警告[warn] Multiple dependencies with the same organization/name but different versions. To avoid conflict, pick one version: [warn] * org.scala-lang:scala-reflect:(2.11.1, 2.11.6) 但代码编译成功
    • scalaVersion := "2.11.6" 添加到您的build.sbt 以避免冲突
    • IntelliJ 有时会缓存同一库的多个版本,这可能会在运行时引起混淆。要清理这些内容,请转到 IntelliJ 中的“文件 -> 项目结构”并手动删除您可能拥有的所有重复库。
    • 然后尝试从不同版本中清理您的.ivy2 文件夹...这应该可以消除歧义,但是您必须再次下载所有依赖项:rm -rf ~/.ivy2/cache/*。或者在.ivy2/cache 中手动搜索不明确的版本,然后删除那个
    【解决方案2】:

    可能问题出在您要使用的插件版本上?

    试试这个:

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

    【讨论】:

    • 我明白了。您可以尝试从 build.sbt 中删除所有已解决的问题吗?再试一次。
    • 当我删除它们时它会起作用。顺便说一句,我正在使用想法 sbt 插件。当我刷新它只是给我警告 [warn] Multiple dependencies with the same organization/name but different versions. To avoid conflict, pick one version: [warn] * org.scala-lang:scala-reflect:(2.11.1, 2.11.6) 但代码编译成功
    猜你喜欢
    • 2015-02-07
    • 2016-07-27
    • 2013-01-19
    • 2016-08-17
    • 2018-05-15
    • 2017-07-04
    • 2016-02-07
    • 1970-01-01
    • 2011-09-27
    相关资源
    最近更新 更多