我要运行的项目的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。版本。
答案 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