Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在编译Scala文件之前在SBT Build.Scala中运行Scala代码?_Scala_Sbt - Fatal编程技术网

如何在编译Scala文件之前在SBT Build.Scala中运行Scala代码?

如何在编译Scala文件之前在SBT Build.Scala中运行Scala代码?,scala,sbt,Scala,Sbt,我试图运行一些Scala代码,只是暂时打印出“Hello”,但我希望在SBT项目中编译Scala代码之前运行Scala代码。我发现build.sbt中有以下功能 compile in Compile <<= compile in Compile map { comp => { println("Hello") } comp } 在compile中编译只要导入通常的: import sbt._ import Keys._ 您应该能够在Build.scala

我试图运行一些Scala代码,只是暂时打印出“Hello”,但我希望在SBT项目中编译Scala代码之前运行Scala代码。我发现build.sbt中有以下功能

compile in Compile <<= compile in Compile map {
  comp => {
    println("Hello")
  }
  comp
}

在compile中编译只要导入通常的:

import sbt._
import Keys._
您应该能够在
Build.scala
中使用完全相同的代码

也就是说,您应该使用
dependsOn
而不是
map

compile in Compile <<= (compile in Compile).dependsOn(Def.task {
  println("Hello")
})

在compile中编译只要您导入sbt.\u
导入键.\u
,您就应该能够在
Build.scala中使用完全相同的代码。也就是说,你用
dependsOn
而不是
map
@sjrd为什么不把这个评论作为一个答案?@JacekLaskowski说得很好。完成。
map
为什么不在这里工作?我想说,
map
在它映射的任务之后,而
dependsOn
则使依赖关系相反。@JacekLaskowski OP要求在编译任务之前运行代码<代码>映射
使其在之后执行
dependsOn
在之前执行它。右。对不起,我弄糊涂了。