【发布时间】:2013-03-25 21:15:40
【问题描述】:
我在Eclipse Scala IDE 中进行编辑,并使用sbt 中的~ test 在单独的屏幕上运行我的测试。我的测试是使用specs2 编写的。
这给了我双重编译,有时 Eclipse 仍在构建,而 sbt 开始启动。
为了解决这个问题,我关闭了自动构建,但这也消除了 Eclipse 中漂亮的编译器警告和错误。
有没有办法在没有双倍编译时间的情况下两者兼得?
编辑
我想最好的方法(或者可能是唯一的方法)是让sbt 运行测试而不编译它们。我尝试了test:run 命令,但这给了我以下错误:
java.lang.RuntimeException: No main class detected.
at scala.sys.package$.error(package.scala:27)
at sbt.Defaults$$anonfun$runTask$1$$anonfun$apply$27$$anonfun$13.apply(Defaults.scala:519)
at sbt.Defaults$$anonfun$runTask$1$$anonfun$apply$27$$anonfun$13.apply(Defaults.scala:519)
at scala.Option.getOrElse(Option.scala:108)
at sbt.Defaults$$anonfun$runTask$1$$anonfun$apply$27.apply(Defaults.scala:519)
at sbt.Defaults$$anonfun$runTask$1$$anonfun$apply$27.apply(Defaults.scala:518)
at sbt.Scoped$$anonfun$hf5$1.apply(Structure.scala:581)
at sbt.Scoped$$anonfun$hf5$1.apply(Structure.scala:581)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:49)
at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:41)
at sbt.std.Transform$$anon$5.work(System.scala:71)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
我如何在 Eclipse 编译文件时使用 ~ test:run?
【问题讨论】: