【问题标题】:Error with gradlew setupDecompWorkspace: Could not reserve enough spacegradlew setupDecompWorkspace 出错:无法保留足够的空间
【发布时间】:2017-11-05 14:45:06
【问题描述】:

在尝试运行命令时

gradlew setupDecompWorkspace

Cmd 响应如下:

:decompileMc
Error occurred during initialization of VM
Could not reserve enough space for 3145728KB object heap
:decompileMc FAILED
FAILURE: Build failed with an exception. 
* What went wrong:
Execution failed for task ':decompileMc'.
> Process 'command 'C:\Program Files\Java\jdk1.8.0_144\bin\java.exe'' 
finished with non-zero exit value 1

我已经用

设置了 gradle.properties 文件
org.gradle.jvmargs=-Xmx1280M

我知道这是有效的,因为无论如何该命令都会立即失败并出现完全相同的错误。我的内存限制似乎并没有在整个过程中保持不变,而且我的计算机的内存非常低。据我所知,我确实有可以使用的最新 JDK。

我目前在 32 位系统上运行 Win 7。

【问题讨论】:

  • 那里没有关于出了什么问题的信息。 decompileMc 任务正在调用正在调用 java 的 exec:它是返回 1 并导致构建失败的那个 java 进程。找出那个 java 应用程序是什么,运行它并诊断错误。
  • 另外,请不要使用 pastebin。剪掉相关的部分,直接放在问题中。
  • 哎呀!我删除了 pastebin 并直接发布了 sn-p 代替它。至于应用程序本身,它似乎是 Java,因为路径显示“ C:\Program Files\Java\jdk1.8.0_144\bin\java.exe ”。每当我运行它时,它都不会抛出任何我可以看到的错误,而且由于我不确定应用程序在直接执行它时会正确执行什么操作,因此我不能肯定地说它没有执行任何操作。它确实会短暂拉出一个对话框,但是,它会在出现后立即消失,因此我无法从中获取任何诊断信息。

标签: java gradle gradlew minecraft-forge


【解决方案1】:

错误消息非常明显,我会说:“无法为 3145728KB 对象堆保留足够的空间”。

您尝试运行的构建调用了一个尝试分配 3 GiB RAM 的外部 Java 进程。这可能有两个原因。第一个很简单,你的盒子里没有足够的 RAM 来构建非常需要 RAM 的构建(不是 Gradle 的错,而是使用它的项目的错)。第二个原因是,您使用的是 32 位操作系统。 32 位操作系统无法在单个进程中寻址超过 2 GiB 或 RAM,因此根本不可能达到 3 GiB。好吧,这不是全部真相,Windows 有一个窍门。您可以使用3gb 开关启动,以将每个进程的可能 RAM 增加到 3 GiB。如果你想这样做,谷歌就可以了。但实际上最好的办法是切换到 64 位操作系统。现在应该没有人需要使用 32 位操作系统了。

或者,您当然可以更改该构建以不尝试在该外部进程中分配 3 GiB。但这可能会因为进程的 RAM 太少而失败。

【讨论】:

    猜你喜欢
    • 2011-09-08
    • 2017-04-06
    • 2014-02-28
    • 2013-08-05
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    相关资源
    最近更新 更多