【问题标题】:Adding addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.1") to my project fails with "Unresolved Dependencies"将 addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.1") 添加到我的项目失败并显示“未解决的依赖项”
【发布时间】:2018-04-02 07:08:37
【问题描述】:

我正在尝试将我的SBT project 发布到 mvnrepository。我正在按照这些链接上的说明进行操作:

http://www.scala-sbt.org/release/docs/Using-Sonatype.html,和 https://github.com/xerial/sbt-pack

当我将 xerial sbt-sonatype 插件添加到我的build.sbt 文件时:

addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.1")   

编译器给我以下错误:

UNRESOLVED DEPENDENCIES

org.xerial.sbt#sbt-sonatype;1.1 not found

Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      org.xerial.sbt:sbt-sonatype:1.1 (scalaVersion=2.11, sbtVersion=0.13)
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]      org.xerial.sbt:sbt-sonatype:1.1 (scalaVersion=2.11, sbtVersion=0.13) (/richstat/build.sbt#L56-57)
[warn]        +- com.github.shafiquejamal:richstat_2.11:0.0.1

我的 SBT 版本是 0.13,我使用的是 Scala 2.11。我怎样才能解决这个问题?谢谢!

【问题讨论】:

    标签: sbt sonatype


    【解决方案1】:

    您必须在project/plugins.sbt 中添加插件,因为插件是元项目的依赖项,而不是您的库/应用程序。

    查看 sbt 文档:Using Plugins

    另外关于 sbt 版本和 Scala 版本:有用于编译项目代码的 Scala 版本(在你的情况下为 2.11),还有 sbt 本身使用的 Scala 版本。后者由 sbt 版本决定:sbt-0.13 使用 Scala 2.10,sbt-1.0 使用 Scala 2.12。

    附:我建议您更新到 sbt-1.0.2:只需更改 project/build.properties 中的版本并使用 sbt-sonatype 2.0。

    【讨论】:

    • 顺便说一句,我现在看到您遵循了您引用的说明,我认为他们只是有一个错字(提交了fix)。
    • 谢谢 - 这行得通。是的,我完全按照给定的指示进行操作。这个链接:https://github.com/xerial/sbt-sonatype 实际上有正确的插件路径。
    • 另外,addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.1") 应该改为 addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "2.3")(或 2.1 或 2.2 - 版本列表可在此处找到:repo1.maven.org/maven2/org/xerial/sbt/sbt-sonatype_2.12_1.0
    猜你喜欢
    • 2013-05-28
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 2016-09-14
    • 2016-06-04
    • 2020-11-08
    • 2016-06-19
    相关资源
    最近更新 更多