首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sbt : scalaVersion值在plugins.sbt中

sbt : scalaVersion值在plugins.sbt中
EN

Stack Overflow用户
提问于 2021-03-10 09:40:03
回答 1查看 169关注 0票数 0

有没有一种方法可以在scalaVersion设置的plugins.sbt中获得值?

我试图在plugins.sbt中执行以下操作

代码语言:javascript
复制
logLevel := Level.Warn

resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/"
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.7")

val version = scalaVersion.value

这就是我遇到的错误:

错误:值只能在任务或设置宏(如:=、+=、++=、Def.task或Def.setting )中使用。

我想要在plugins.sbt中实现的是检索scalaVersion设置的值,并将val与addSbtPlugin一起使用,如下所示:

代码语言:javascript
复制
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.7").filter(_ => version == "2.12")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-10 11:29:50

此错误表示无法在任务或设置执行范围之外读取设置值,因此,不应仅声明字段,而应在另一个或多个设置中使用,例如:

代码语言:javascript
复制
lazy val customVersion = settingKey[String]("Custom version for sake of example")

customVersion := {
  //`.value` referenced inside `customVersion` settings declaration, so sbt can evaluate customVersion in scope of other settings/task evaluations.
  "Custom version" + scalaVersion.value
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66562006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档