【问题标题】:Pass JVM Opts from build.sbt to startup script in Play Framework 2.2.x将 JVM Opts 从 build.sbt 传递到 Play Framework 2.2.x 中的启动脚本
【发布时间】:2015-03-12 12:18:48
【问题描述】:

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

【问题讨论】:

    标签: playframework playframework-2.0 playframework-2.2 sbt-native-packager


    【解决方案1】:

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

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

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

    一个示例(假设您已通过mappings 设置将newrelic.jar 文件提供给暂存环境):

    bashScriptExtraDefines += """addJava "-javaagent:${app_home}/../newrelic/newrelic.jar""""
    

    或者

    bashScriptExtraDefines += "addApp -Dhttps.port=9001"
    

    【讨论】:

    • 如果它对任何人都有帮助,这种bashScriptExtraDefines 技术在打包为 Docker 映像时也适用。
    【解决方案2】:

    这应该可以在你的 .sbt 文件中使用

    javaOptions += "-Xmx2G"

    完整文档:http://www.scala-sbt.org/0.13.1/docs/Examples/Quick-Configuration-Examples.html

    【讨论】:

      猜你喜欢
      • 2014-02-02
      • 2014-04-04
      • 2016-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-12
      • 1970-01-01
      相关资源
      最近更新 更多