Scala错误:类型不匹配

时间:2018-07-01 13:18:02

标签: windows scala sbt

我要运行的项目的sbt.build文件中包含以下代码:

lazy val buildAssistantJs = taskKey[Unit]("Build assistant JavaScript frontend")

buildAssistantJs := {
  println("Building assistant JavaScript frontend...")
 "npm install" #&& "npm update" #&& "npm run assistant-build" !
}

stage := stage dependsOn buildAssistantJs

执行sbt run时出现以下错误:

error: type mismatch;
found   : sbt.Def.Initialize[sbt.Task[sbt.File]]
    (which expands to)  sbt.Def.Initialize[sbt.Task[java.io.File]]
required: sbt.File
    (which expands to)  java.io.File
stage := stage dependsOn buildAssistantJs
               ^
[error] Type error in expression

有人知道这是为什么以及如何解决该错误吗?请注意,我试图在Windows上运行它,以防万一。

注意:我正在使用Scala 2.11.4版本和sbt 1.0.2。版本。

1 个答案:

答案 0 :(得分:1)

SBT的const textStyle = TextStyle( fontSize: 12.0, color: Colors.white, fontFamily: 'OpenSans', fontWeight: FontWeight.w600); //..... new TabBar( controller: controller, labelColor: Color(0xFF343434), labelStyle: textStyle.copyWith( fontSize: 20.0, color: Color(0xFFc9c9c9), fontWeight: FontWeight.w700), indicator: UnderlineTabIndicator( borderSide: BorderSide(color: Color(0xDD613896), width: 8.0), insets: EdgeInsets.fromLTRB(50.0, 0.0, 50.0, 40.0), ), unselectedLabelColor: Color(0xFFc9c9c9), unselectedLabelStyle: textStyle.copyWith( fontSize: 20.0, color: Color(0xFFc9c9c9), fontWeight: FontWeight.w700), tabs: [ new Tab( text: 'LOGIN', ), new Tab( text: 'SIGNUP', ), ], ), tasks是一种特殊的品种,您不能在代码中直接使用它们。只有在定义其他任务(或设置)时才会使用它们,这些任务(或设置)在它们之间引入了依赖性。

如果要使用任务值,则需要这样说:

settings