初学者Scala SBT查询

初学者Scala SBT查询,scala,playframework,sbt,Scala,Playframework,Sbt,我正试图根据上的说明修改闭包编译器选项 我还需要添加一个解析器 val defaultOptions = new CompilerOptions() defaultOptions.closurePass = true CompilationLevel.WHITESPACE_ONLY.setOptionsForCompilationLevel(defaultOptions) defaultOptions.setProcessCommonJSModules(true) val root = new

我正试图根据上的说明修改闭包编译器选项

我还需要添加一个解析器

val defaultOptions = new CompilerOptions()
defaultOptions.closurePass = true
CompilationLevel.WHITESPACE_ONLY.setOptionsForCompilationLevel(defaultOptions)
defaultOptions.setProcessCommonJSModules(true)
val root = new java.io.File(".")
defaultOptions.setCommonJSModulePathPrefix(root.getCanonicalPath + "/app/assets/javascript/")
defaultOptions.setPrettyPrint(true)

def optClosureValues = Option(System.getProperty("closureoff")).filter(_ != "").map {
dev =>
  println("using alternative closure compiler")
  closureCompilerSettings(defaultOptions)
}.getOrElse(Seq.empty)


val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
optClosureValues:_*,
resolvers += ("Morphia" at "http://morphia.googlecode.com/svn/mavenrepo/")
)
这是一个错误

Build.scala:35: no `: _*' annotation allowed here
[error] (such annotations are only allowed in arguments to *-parameters)
[error]     optClosureValues:_*,
[error]                     ^
[error] one error found

这里的正确语法是什么?

您可以这样写:

val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
  optClosureValues ++
  Seq(resolvers += ("Morphia" at "http://morphia.googlecode.com/svn/mavenrepo/")): _*
)

我使用最新的2.1-SNAPSHOT在我的机器上确认了上述操作。

如果我只使用这两种设置中的一种,则工作正常。@SauravShah您使用的是play 2.1-SNAPSHOT吗?