!不是String的成员

时间:2013-12-09 09:05:36

标签: scala sbt

我正在尝试将我的sbt版本从0.12.3升级到0.13.0,但在尝试加载项目后,我收到以下错误:

! is not a member of String

在执行外部命令的行中发生错误:

 ("tar cf " + (buildRoot / "SOURCES").toString + "/" + ver + ".tar -C " + buildRoot.toString + " dir").!

在之前的版本中一切都很好。

有谁知道我做错了什么或最新版本有什么变化?

编辑:问题已解决。需要添加:

 import sbt.Process._

在对象中,您尝试使用postfixOps,例如:

  val success:Int = ((dir / "script.sh" toString) !)

1 个答案:

答案 0 :(得分:4)

!命令(用于进程)来自sbt's process API或来自Scala的。

如果您计划使用sbt的日志记录和强烈推荐(强烈建议),那么您要确保import sbt.Process._

此外,您可能希望让您的代码看起来更像:

val logger: sbt.Logger = ???  //(usually streams.value.log)
val success:Int = (dir / "script.sh" toString) ! logger