【发布时间】:2014-01-04 20:48:45
【问题描述】:
我正在使用 SBT 0.13.1。
project/build.properties如下:
sbt.version=0.13.1
执行sbt about 会打印出以下内容:
$ sbt
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Loading project definition from /Users/jacek/sandbox/so/sbt-0.13.1/project
[info] Set current project to sbt-0-13-1 (in build file:/Users/jacek/sandbox/so/sbt-0.13.1/)
[sbt-0-13-1]> about
[info] This is sbt 0.13.1
[info] The current project is {file:/Users/jacek/sandbox/so/sbt-0.13.1/}sbt-0-13-1 0.1-SNAPSHOT
[info] The current project is built against Scala 2.10.4-RC1
[info] Available Plugins: com.typesafe.sbt.SbtGit, com.typesafe.sbt.SbtProguard, growl.GrowlingTests, np.Plugin, net.virtualvoid.sbt.graph.Plugin, com.timushev.sbt.updates.UpdatesPlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.3
使用以下任务 - hello - 在build.sbt:
scalaVersion := "2.10.4-RC1"
lazy val hello = taskKey[Unit]("An example task")
hello := {
print("Sleeping for a sec...")
println("done.")
}
...和reload,sbt 报告[error] Type error in expression:
[sbt-0-13-1]> reload
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Loading project definition from /Users/jacek/sandbox/so/sbt-0.13.1/project
/Users/jacek/sandbox/so/sbt-0.13.1/build.sbt:6: error: type mismatch;
found : String("Sleeping for a sec...")
required: sbt.TaskKey[String]
print("Sleeping for a sec...")
^
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
当我将print 更改为println 时,任务定义正确。
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? r
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Loading project definition from /Users/jacek/sandbox/so/sbt-0.13.1/project
[info] Set current project to sbt-0-13-1 (in build file:/Users/jacek/sandbox/so/sbt-0.13.1/)
[sbt-0-13-1]> hello
Sleeping for a sec...
done.
[success] Total time: 0 s, completed Jan 4, 2014 10:31:43 AM
print 在任务定义中不被接受吗?
【问题讨论】:
-
我无法重现错误。
-
@Schleichardt 我添加了一些关于环境的更多细节。你使用的是 sbt 0.13.1 吗?
-
谢谢,但我还是无法复制。我使用 SBT 0.13.1。您可以删除所有 SBT 插件然后重试吗?
-
你是对的!感谢您的提示!当
sbt -Dsbt.global.base=/tmp/so时,hello任务与print一起使用。想知道什么可能会破坏它。 -
你能回答哪个 SBT 插件破坏了构建吗?
标签: sbt