将JVM Opts从build.sbt传递到Play Framework 2.2.x中的启动脚本

Jur*_*nik 2 playframework playframework-2.0 playframework-2.2 sbt-native-packager

是否有可能配置/传递JVM选项(即javaagent)从build.sbt到阶段构建 - 由生成的启动脚本使用.

Gar*_*ady 5

如果您指的是sbt-native-packager生成的启动脚本,则在使用JavaAppPackaging或JavaServerPackaging原型时,您可以使用SBT设置对其进行修改 bashScriptExtraDefines

http://www.scala-sbt.org/sbt-native-packager/archetypes/cheatsheet.html?highlight=bashscriptextradefines#overriding-templates

您可以使用已在bash start脚本中定义的许多函数和变量.addJava向java二进制文件添加标志.addApp向传递给正在运行的Java应用程序的args添加标志.app_home指向包含启动脚本的目录.

示例(假设您已newrelic.jar通过mappings设置将文件提供给分阶段环境):

bashScriptExtraDefines += """addJava "-javaagent:${app_home}/../newrelic/newrelic.jar""""
Run Code Online (Sandbox Code Playgroud)

要么

bashScriptExtraDefines += "addApp -Dhttps.port=9001"
Run Code Online (Sandbox Code Playgroud)