【问题标题】:JVM options on Sbt Native PackagerSbt Native Packager 上的 JVM 选项
【发布时间】:2015-03-31 11:02:00
【问题描述】:

在使用 Java Archetype 时使用 SBT Native Packager 时,我找不到指定 -X 选项(-Xmx / Xms)的方法。

我尝试在 src/universal 文件夹中使用包含这些属性的 jvmopts 文件。添加到 build.sbt

bashScriptConfigLocation := Some("${app_home}/../conf/jvmopts")

所有这些都根据以下链接:http://www.scala-sbt.org/sbt-native-packager/archetypes/java_app/customize.html

我无法让它修改默认的 1024m 值。

【问题讨论】:

  • 你能展示你的 jvmopts 吗?你用的是什么版本?
  • 或者提供一个小的构建示例来演示这个案例:)
  • 我使用的是 1.0.0-M4,我的 jvmopts 文件非常简单,包含 2 行。 -Xms2048m -Xmx2048m 但是我想我在调试脚本文件后发现了问题。看来您不能像我目前所做的那样直接在 jvmopts 文件上指定 jvm 内存选项。该脚本有一个“mem”参数,我可以将其用作:-mem 2048。另一种方法是设置 JVM_OPTS 环境变量,脚本也会在那里查找。另一个选项是在 build.sbt 文件中添加到 AddJava。 bashScriptExtraDefines += """addJava "-Xms2048m"""" bashScriptExtraDefines += """addJava "-Xmx2048m""""
  • @leonfs,您的第二个解决方案对我来说效果很好。考虑将其添加为答案。谢谢!

标签: sbt sbt-native-packager


【解决方案1】:

您必须为 -X 选项添加前缀。查看示例etc-default 文件。

所以你需要写在你的jvmopts

-J-Xms1024m
-J-Xmx2048m

更新

etc-default 的行为已在版本 1.0.0-RC2 中得到纠正。看看server configuration page.

【讨论】:

  • ${app_home}只能用于bashScriptExtraDefines,不能用于javaOptions,我理解正确吗?
  • 是的。 ${app_home} 是在运行时计算的值。
猜你喜欢
  • 2016-09-28
  • 2017-09-28
  • 2015-10-03
  • 2015-10-11
  • 2016-12-14
  • 2013-12-29
  • 2016-09-01
  • 2014-07-01
  • 2016-07-27
相关资源
最近更新 更多