加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

SBT在Build.scala中指定java堆大小

发布时间:2020-12-16 09:07:23 所属栏目:安全 来源:网络整理
导读:我的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","
我的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从项目构建文件中选择堆空间?

谢谢!

解决方法

如果要更改堆大小,则需要告诉sbt为 fork another JVM(顺便说一下,这适用于任何JVM选项).您可以使用fork设置来执行此操作:

fork in run := true

此外,您要确保您的选项已正确分隔(sbt无法执行其他解析):

javaOptions in run ++= Seq(
    "-Xms256M","-Xmx2G","-XX:MaxPermSize=1024M","-XX:+UseConcMarkSweepGC")

或者,您可以在sbt runner中设置堆大小.如果您使用普通sbt,则可以直接修改启动器脚本.如果您使用的是sbt-extras,则可以使用-J标志将参数传递给JVM:

sbt -J-Xmx2G # etc.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读