反编译 MCP 错误(9.18 版)returns 'Decompile Failed'
Decompiling MCP error (version 9.18) returns 'Decompile Failed'
我决定使用 MCP 并下载了它,但是,当 运行 decompile.bat 时,它 returns 出错了。
(我是 运行 32 位 Windows 10)
返回的内容如下:
'"C:\Program Files\Java\jdk1.8.0_65\bin\java" -jar runtime\bin\fernflower.jar -din=1 -rbr=1 -dgs=1 -asc=1 -rsy=1 -iec=1 -jvn=1 -log=WARN "-e=jars\libraries\net/java/jinput\jinput.0.5\jinput-2.0.5.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl-platform.9.4-nightly-20150209\lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar" "-e=jars\libraries\com/ibm/icu\icu4j-core-mojang.2\icu4j-core-mojang-51.2.jar" "-e=jars\libraries\tv/twitch\twitch-external-platform.5\twitch-external-platform-4.5-natives-windows-32.jar" "-e=jars\libraries\org/apache/httpcomponents\httpcore.3.2\httpcore-4.3.2.jar" "-e=jars\libraries\org/apache/logging/log4j\log4j-api.0-beta9\log4j-api-2.0-beta9.jar" "-e=jars\libraries\org/apache/commons\commons-lang3.3.2\commons-lang3-3.3.2.jar" "-e=jars\libraries\net/java/jutils\jutils.0.0\jutils-1.0.0.jar" "-e=jars\libraries\net/java/dev/jna\jna.4.0\jna-3.4.0.jar" "-e=jars\libraries\com/paulscode\libraryjavasound101123\libraryjavasound-20101123.jar" "-e=jars\libraries\net/sf/jopt-simple\jopt-simple.6\jopt-simple-4.6.jar" "-e=jars\libraries\com/google/guava\guava.0\guava-17.0.jar" "-e=jars\libraries\oshi-project\oshi-core.1\oshi-core-1.1.jar" "-e=jars\libraries\commons-logging\commons-logging.1.3\commons-logging-1.1.3.jar" "-e=jars\libraries\org/apache/commons\commons-compress.8.1\commons-compress-1.8.1.jar" "-e=jars\libraries\net/java/dev/jna\platform.4.0\platform-3.4.0.jar" "-e=jars\libraries\com/paulscode\codecjorbis101023\codecjorbis-20101023.jar" "-e=jars\libraries\com/paulscode\soundsystem120107\soundsystem-20120107.jar" "-e=jars\libraries\com/paulscode\librarylwjglopenal100824\librarylwjglopenal-20100824.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl_util.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar" "-e=jars\libraries\commons-codec\commons-codec.9\commons-codec-1.9.jar" "-e=jars\libraries\org/apache/httpcomponents\httpclient.3.3\httpclient-4.3.3.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar" "-e=jars\libraries\commons-io\commons-io.4\commons-io-2.4.jar" "-e=jars\libraries\com/mojang\realms.7.39\realms-1.7.39.jar" "-e=jars\libraries\com/mojang\authlib.5.21\authlib-1.5.21.jar" "-e=jars\libraries\com/google/code/gson\gson.2.4\gson-2.2.4.jar" "-e=jars\libraries\tv/twitch\twitch.5\twitch-6.5.jar" "-e=jars\libraries\com/paulscode\codecwav101023\codecwav-20101023.jar" "-e=jars\libraries\tv/twitch\twitch-platform.5\twitch-platform-6.5-natives-windows-32.jar" "-e=jars\libraries\net/java/jinput\jinput-platform.0.5\jinput-platform-2.0.5-natives-windows.jar" "-e=jars\libraries\org/apache/logging/log4j\log4j-core.0-beta9\log4j-core-2.0-beta9.jar" "-e=jars\libraries\io/netty\netty-all.0.23.Final\netty-all-4.0.23.Final.jar" temp/minecraft_ff_in.jar temp\src\minecraft' failed : 1
Decompile failed
这是反编译系统运行耗尽RAM造成的。我不完全确定为什么会这样,但它也发生在我身上。
如果您使用的是 Minecraft Forge 的 ForgeGradle,see this。您可以编辑 gradle 选项文件(在您的用户文件夹中的 .gradle/gradle.properties
)并向其添加 org.gradle.jvmargs=-Xmx2G
,或者您可以将选项变量设置为 -Xmx2G
(在命令中提示,运行 set GRADLE_OPTS=-Xmx2G
然后 gradlew setupDecompWorkspace
).
但是,鉴于您引用了 decompile.bat
,您可能正在使用没有 Forge 的 MCP。 (这很好,但是 forge 确实使 mods easier/more 兼容;如果您要制作更永久的 mod 而不是随便乱搞,您可能需要考虑这样做。)在这种情况下,您可以编辑 MCP 的配置以增加给定的 RAM。
在 MCP 文件夹中,打开 conf
文件夹,然后使用您选择的文本编辑器打开 mcp.cfg
。然后,找到这一行(靠近底部)
CmdFernflower = %s -jar %s -din=1 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir} {outdir}
并将其替换为:
CmdFernflower = %s -Xmx2G -jar %s -din=1 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir} {outdir}
(您可能需要更改其他行并在 -jar
之前添加 -Xmx2G
,但根据我的经验, 似乎 不需要)。
这将 运行 具有额外 RAM 的反编译器。
另外,如果你不想搞乱 MCP 配置,MCP910 似乎没有这个问题。它适用于 1.8.0 而不是 1.8.8,但仍然可以做你想做的一切。
我知道,这个答案来的很晚,但是你应该安装Java的64位版本。对于 32 位版本,它不起作用...
我不知道你是否可以在你的 32 位系统上安装它,但你可以试试。在我的 86 位系统 (Windows 8) 上它有效!
我决定使用 MCP 并下载了它,但是,当 运行 decompile.bat 时,它 returns 出错了。
(我是 运行 32 位 Windows 10)
返回的内容如下:
'"C:\Program Files\Java\jdk1.8.0_65\bin\java" -jar runtime\bin\fernflower.jar -din=1 -rbr=1 -dgs=1 -asc=1 -rsy=1 -iec=1 -jvn=1 -log=WARN "-e=jars\libraries\net/java/jinput\jinput.0.5\jinput-2.0.5.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl-platform.9.4-nightly-20150209\lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar" "-e=jars\libraries\com/ibm/icu\icu4j-core-mojang.2\icu4j-core-mojang-51.2.jar" "-e=jars\libraries\tv/twitch\twitch-external-platform.5\twitch-external-platform-4.5-natives-windows-32.jar" "-e=jars\libraries\org/apache/httpcomponents\httpcore.3.2\httpcore-4.3.2.jar" "-e=jars\libraries\org/apache/logging/log4j\log4j-api.0-beta9\log4j-api-2.0-beta9.jar" "-e=jars\libraries\org/apache/commons\commons-lang3.3.2\commons-lang3-3.3.2.jar" "-e=jars\libraries\net/java/jutils\jutils.0.0\jutils-1.0.0.jar" "-e=jars\libraries\net/java/dev/jna\jna.4.0\jna-3.4.0.jar" "-e=jars\libraries\com/paulscode\libraryjavasound101123\libraryjavasound-20101123.jar" "-e=jars\libraries\net/sf/jopt-simple\jopt-simple.6\jopt-simple-4.6.jar" "-e=jars\libraries\com/google/guava\guava.0\guava-17.0.jar" "-e=jars\libraries\oshi-project\oshi-core.1\oshi-core-1.1.jar" "-e=jars\libraries\commons-logging\commons-logging.1.3\commons-logging-1.1.3.jar" "-e=jars\libraries\org/apache/commons\commons-compress.8.1\commons-compress-1.8.1.jar" "-e=jars\libraries\net/java/dev/jna\platform.4.0\platform-3.4.0.jar" "-e=jars\libraries\com/paulscode\codecjorbis101023\codecjorbis-20101023.jar" "-e=jars\libraries\com/paulscode\soundsystem120107\soundsystem-20120107.jar" "-e=jars\libraries\com/paulscode\librarylwjglopenal100824\librarylwjglopenal-20100824.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl_util.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar" "-e=jars\libraries\commons-codec\commons-codec.9\commons-codec-1.9.jar" "-e=jars\libraries\org/apache/httpcomponents\httpclient.3.3\httpclient-4.3.3.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar" "-e=jars\libraries\commons-io\commons-io.4\commons-io-2.4.jar" "-e=jars\libraries\com/mojang\realms.7.39\realms-1.7.39.jar" "-e=jars\libraries\com/mojang\authlib.5.21\authlib-1.5.21.jar" "-e=jars\libraries\com/google/code/gson\gson.2.4\gson-2.2.4.jar" "-e=jars\libraries\tv/twitch\twitch.5\twitch-6.5.jar" "-e=jars\libraries\com/paulscode\codecwav101023\codecwav-20101023.jar" "-e=jars\libraries\tv/twitch\twitch-platform.5\twitch-platform-6.5-natives-windows-32.jar" "-e=jars\libraries\net/java/jinput\jinput-platform.0.5\jinput-platform-2.0.5-natives-windows.jar" "-e=jars\libraries\org/apache/logging/log4j\log4j-core.0-beta9\log4j-core-2.0-beta9.jar" "-e=jars\libraries\io/netty\netty-all.0.23.Final\netty-all-4.0.23.Final.jar" temp/minecraft_ff_in.jar temp\src\minecraft' failed : 1 Decompile failed
这是反编译系统运行耗尽RAM造成的。我不完全确定为什么会这样,但它也发生在我身上。
如果您使用的是 Minecraft Forge 的 ForgeGradle,see this。您可以编辑 gradle 选项文件(在您的用户文件夹中的 .gradle/gradle.properties
)并向其添加 org.gradle.jvmargs=-Xmx2G
,或者您可以将选项变量设置为 -Xmx2G
(在命令中提示,运行 set GRADLE_OPTS=-Xmx2G
然后 gradlew setupDecompWorkspace
).
但是,鉴于您引用了 decompile.bat
,您可能正在使用没有 Forge 的 MCP。 (这很好,但是 forge 确实使 mods easier/more 兼容;如果您要制作更永久的 mod 而不是随便乱搞,您可能需要考虑这样做。)在这种情况下,您可以编辑 MCP 的配置以增加给定的 RAM。
在 MCP 文件夹中,打开 conf
文件夹,然后使用您选择的文本编辑器打开 mcp.cfg
。然后,找到这一行(靠近底部)
CmdFernflower = %s -jar %s -din=1 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir} {outdir}
并将其替换为:
CmdFernflower = %s -Xmx2G -jar %s -din=1 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir} {outdir}
(您可能需要更改其他行并在 -jar
之前添加 -Xmx2G
,但根据我的经验, 似乎 不需要)。
这将 运行 具有额外 RAM 的反编译器。
另外,如果你不想搞乱 MCP 配置,MCP910 似乎没有这个问题。它适用于 1.8.0 而不是 1.8.8,但仍然可以做你想做的一切。
我知道,这个答案来的很晚,但是你应该安装Java的64位版本。对于 32 位版本,它不起作用... 我不知道你是否可以在你的 32 位系统上安装它,但你可以试试。在我的 86 位系统 (Windows 8) 上它有效!