Activator 不是具有多种选择的工具。它看起来像,但它只是运行 sbt 项目的包装器。来自 git 中的激活器源页面:
Activator 旨在成为一个友好的一站式商店来引导您的 Scala,
Akka 和 Play 开发。它可以用作包装脚本
启动到传统的命令行 sbt,但它还包括一个
模板和教程系统,以及用于入门的可选 GUI。
您可以将 Activator 视为传统的 sbt(activator shell 或
activator ),加上一个可选的 UI 模式 (activator
ui),外加一个模板系统(activator new)。
就是这样。实际上只有四个命令:
-
ui - 运行 ui 模式
-
new - 从模板创建新项目
-
list-templates - 显示所有可用的模板
-
shell - 运行 sbt shell
让我们详细了解一下。
源代码
https://github.com/typesafehub/activator/blob/master/launcher/src/main/scala/activator/ActivatorLauncher.scala
try configuration.arguments match {
case Array("ui") => RebootToUI(configuration, version = checkForUpdatedVersion.getOrElse(APP_VERSION))
case Array("new", _*) => Exit(ActivatorCli(configuration))
case Array("list-templates") => Exit(TemplateHandler())
case Array("shell") => RebootToSbt(configuration, useArguments = false)
case _ if Sbt.looksLikeAProject(new File(".")) => RebootToSbt(configuration, useArguments = true)
case _ => displayHelp(configuration)
} catch {
case e: Exception => generateErrorReport(e)
}
可以看到只有4个命令ui、new、list-template、shell和一个元命令:
case _ if Sbt.looksLikeAProject(new File(".")) => RebootToSbt(configuration, useArguments = true)
这意味着如果您在项目目录中运行activator 命令(而不是ui、new、list-template、shell),那么激活器将使用您传递的命令和参数运行 sbt到激活器。所以run,compile,stage不是激活器命令而是sbt命令。
如果您将在项目目录之外运行激活器(并且它不是ui、new、list-template、shell 命令),那么它会显示一些“帮助页面”
Activator 还允许传递用于运行 activator.jar 的 java 参数 - 您可以通过检查“activator.bat”文件或 activator shell 脚本来查看它。
SBT
您可以在此处找到 sbt 命令的参考:http://www.scala-sbt.org/0.13/docs/Command-Line-Reference.html