我尝试使用某些库依赖项来启动sbt assembly
。
当我尝试添加
"edu.stanford.nlp" % "stanford-corenlp" % "3.5.1",
"edu.stanford.nlp" % "stanford-corenlp" % "3.5.1" classifier "models",
它以错误关闭:
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
...
Caused by: java.lang.OutOfMemoryError: Java heap space
...
at sbtassembly.Assembly$.sha1content(Assembly.scala:294)
at sbtassembly.Assembly$$anonfun$24.apply(Assembly.scala:206)
at sbtassembly.Assembly$$anonfun$24.apply(Assembly.scala:202)
...
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
当我将
provided
属性添加到这些库时,它可以很好地工作。我在
build.sbt
上添加了选项,就像在README file of SBT assembly上提到的一样,但是没有任何变化。assemblyOption in assembly := (assemblyOption in assembly).value.copy(cacheUnzip = false)
assemblyOption in assembly := (assemblyOption in assembly).value.copy(cacheOutput = false)
javaOptions in assembly += "-Xmx2g"
运行
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.1")
scalaVersion := "2.11.6"
感谢帮助
最佳答案
如下所示增加sbt进程的堆大小
在您的.bashrc文件中将此属性设置为永久修复程序。根据您的需要和资源编辑内存限制
export SBT_OPTS="-Xmx1024M -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=2G -Xss2M -Duser.timezone=GMT"
编辑后,请使用刷新您的控制台,
source ~/.bashrc
关于java - sbt汇编上的Java OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35197120/