SBT, "java.lang.OutOfMemoryError: Java heap space"



我正试图通过以下方式复制openie4.0程序:https://github.com/knowitall/openie

环境是Ubuntu:18.04,Scala:2.10.2,Java:1.7.0_80,sbt:0.13.18,

我设法走上了";与sbt一起运行:";"sbt‘run main edu.nknowitall.openie.OpenIECli’''

然而,我一直面临的问题

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space

当我进入创建独立的jar时,当使用:时

sbt clean compile assembly

在尝试时"sbt-J-Xmx2700M清洁编译组件";(或者更大,比如10克,我的电脑上有64克(以上的模因外问题仍在继续加上:

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
[error] Not a valid command: J-Xmx10g
[error] Not a valid project ID: J-Xmx10g
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: J-Xmx10g
[error] J-Xmx10g
[error]     

这让人非常困惑,为什么这个命令不是一个有效的命令,而我没有找到解决方案。

后来我尝试设置通用的JAVA_OPTS,但不起作用。然后我接受了user972946(最后一个(的建议,这些建议建议自默认设置以来已被覆盖。如何设置sbt的堆大小?。

然后按照他的建议进行修复,但还是一样。。。。。

env JAVA_OPTS="-Xmx41200m" sbt clean compile assembly

我也从上面的链接中接受了迈克和卡西奥的建议。。。根本不起作用。

非常感谢您对此提出的任何建议。

非常感谢。HZ

如果您查看以下行:

[error] Not a valid command: J-Xmx10g

您的sbt无法将其解析为有效选项,因为您使用的是java7(请确保java7接受-Xmx$size作为有效参数(,所以可以发出此选项,sbt 0.13(相当旧(也是如此。还必须有一个文件或与部署相关的东西(指南或CI/CD文件或其他东西(,您可以从中获得如何运行项目的帮助。(如果你使用java8,一切可能都会好起来(

根据Baeldung:

在运行之前尝试导出此环境变量:

export SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=10G -Xmx10G -Xms10G"

或者,SBT允许我们在名为.jvmopts的文件上指定JVM选项。在项目的根目录中创建一个名为.jvmopts的文件,并将其放入:

-Xms1g
-Xmx4g

相关内容

  • 没有找到相关文章

最新更新