当指定scalaVersion和sbtVersion通过“额外”解决插件依赖关系时,它不起作用

问题描述 投票:0回答:1

我正在尝试添加这样的插件:

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2" extra ("scalaVersion" -> "2.10", "sbtVersion" ->  "0.13"))

但是当我开始sbt会话时,搜索路径仍然是

https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0//0.11.2/ivys/ivy.xml

scalaVersion和sbtVersion仍然是我正在使用的那个。

你能告诉我该怎么办吗?

谢谢!

plugins sbt sbt-assembly sbt-plugin scala-version-cross-build
1个回答
0
投票

这就是addSbtPlugin的作用:它将适当的scalaVersion和sbtVersion添加到所提到的工件(在您的情况下,它覆盖了您手动指定的内容)。

如果要完全控制,请不要使用addSbtPlugin:

libraryDependencies += "com.eed3si9n" % "sbt-assembly" % "0.11.2" extra ("scalaVersion" -> "2.10", "sbtVersion" ->  "0.13")

但是请注意,如果您未能添加适合您当前SBT版本的正确属性,这种事情通常将不起作用。

在您的情况下,您显然正在使用SBT 1.x,而后者又使用了Scala 2.12。尝试在Scala 2.10中使用工件构建,即。对于SBT 0.13.x,将会中断。

© www.soinside.com 2019 - 2024. All rights reserved.