我的 Build.scala 文件内容。
val commonSettings = Seq(
version := "1.0.0",
organization := "com.collective",
scalaVersion := "2.11.4",
scalacOptions ++= List(
"-encoding", "UTF-8",
"-target:jvm-1.7",
"-feature",
"-unchecked",
"-deprecation",
"-Xlint",
"-Xfatal-warnings"
),
resolvers ++= Seq(
"ConJars" at "http://conjars.org/repo"
),
javaOptions in run += "-Xms256M -Xmx2G -XX:MaxPermSize=1024M -XX:+UseConcMarkSweepGC"
)
lazy val segmentFetcher = Project("segments-fetcher", file("."))
.settings(commonSettings: _*)
)
但是,当我执行
sbt run
并查看 jconsole,我在 Build.scala 中设置的堆大小没有被选取。它只显示-Xmx512M。谁能告诉我如何强制 sbt 从项目构建文件中选择堆空间?
Thanks!
如果你想改变堆大小,你需要告诉 sbtfork 另一个 JVM(顺便说一句,这适用于任何 JVM 选项)。您可以使用fork
设置这样做:
fork in run := true
另外,您要确保您的选项已正确分隔(sbt 没有进行额外的解析):
javaOptions in run ++= Seq(
"-Xms256M", "-Xmx2G", "-XX:MaxPermSize=1024M", "-XX:+UseConcMarkSweepGC")
或者,您可以在 sbt 运行程序中设置堆大小。如果您使用普通的sbt,则可以直接修改启动器脚本。如果您使用 sbt-extras,您可以使用以下命令将参数传递给 JVM-J
flag:
sbt -J-Xmx2G # etc.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)