在生产模式下使用分辨率运行应用程序
问题描述:
我正在使用'dist'任务来生成我的应用程序的分配。但是,如果我解压缩生成的工件,在bin /目录中,我可以访问'dist'任务生成的bash文件。脚本的最后一行是:运行“$ @”在生产模式下使用分辨率运行应用程序
我在正式的Play Framework文档中看到'run'命令不应该用于生产模式,推荐的方法是生成一个分配任务' DIST”
为什么‘DIST’的产生,其使用bash脚本‘跑’条命令,如果在生产模式下,不建议吗?
我在问这个,因为当我在生产环境中部署我的应用程序时,第一个请求很慢......它似乎是开发行为。但我正在使用'dist'命令。
我将不胜感激任何帮助。
谢谢。
答
你在混合两种不同的东西。
播放文档中所述的run
命令是SBT命令,将在开发模式启动应用程序。因此,要使用该命令,您必须使用激活器或sbt(例如:./activator run
)。
的run
您在脚本看到的是一个bash函数(定义上面一点),将在生产模式下启动应用程序。从功能的小片段:
# Actually runs the script.
run() {
# TODO - check for sane environment
# process the combined args, then reset "[email protected]" to the residuals
# (...)
execRunner "$java_cmd" \
${java_opts[@]} \
"${java_args[@]}" \
-cp "$(fix_classpath "$app_classpath")" \
"${mainclass[@]}" \
"${app_commands[@]}" \
"${residual_args[@]}"
(...)
}
所以,如果你使用这个脚本来运行你的应用程序,它会在生产模式下启动。
+0
哦!你是对的。我为这个错误感到抱歉。谢谢您的回答。 –
请发布您所指的文件和命令的相关部分。 – Guenther