使用dist

时间:2016-09-16 15:44:10

标签: deployment playframework

我正在使用' dist'生成我的播放应用程序分发的任务。但是如果我解压缩生成的工件,在bin /目录中我可以访问由' dist'生成的bash文件。任务。脚本的最后一行是:run" $ @"

我在官方的Play Framework文档中看到'运行'命令不应该在生产模式下使用,建议的方法是使用任务生成分发' dist'

为什么' dist'正在生成一个使用'运行'如果不建议在生产模式下使用命令?

我问这个,因为当我在生产中部署我的应用程序时,第一个请求很慢......似乎是开发行为。但我正在使用' dist'命令。

我将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

你正在混合两种不同的东西。

Play文档中声明的run命令是一个SBT命令,它将以开发模式启动您的应用程序。因此,要使用该命令,您必须使用activator或sbt(例如:./activator run)。

您在该脚本中看到的run是一个bash函数(稍上定义),它将以生产模式启动您的应用。该函数的一小段摘录:

# Actually runs the script.
run() {
  # TODO - check for sane environment
  # process the combined args, then reset "$@" to the residuals
  # (...)
  execRunner "$java_cmd" \
    ${java_opts[@]} \
    "${java_args[@]}" \
    -cp "$(fix_classpath "$app_classpath")" \
    "${mainclass[@]}" \
    "${app_commands[@]}" \
    "${residual_args[@]}"

  (...)
}

因此,如果您使用此脚本运行您的应用程序,它将以生产模式启动。