minecraft forge gradle“ runClient”例外

问题描述 投票:0回答:1

我应该安装Minecraft Forge。我写了gradle命令。

gradlew setupDecompWorkspace
gradlew eclipse

此命令运行良好。

但是下一个命令不起作用

gradlew runClient

这是命令的例外。

java.lang.reflect.InvocationTargetException:空在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)〜[?:1.8.0_242]在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)〜[?:1.8.0_242]在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)〜[?:1.8.0_242]在java.lang.reflect.Method.invoke(Method.java:498)〜[?:1.8.0_242]在net.minecraft.launchwrapper.Launch.launch(Launch.java:135)[launchwrapper-1.12.jar :?]在net.minecraft.launchwrapper.Launch.main(Launch.java:28)[launchwrapper-1.12.jar :?]在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)〜[?:1.8.0_242]在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)〜[?:1.8.0_242]在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)〜[?:1.8.0_242]在java.lang.reflect.Method.invoke(Method.java:498)〜[?:1.8.0_242]在net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)[开始/:?]在GradleStart.main(GradleStart.java:25)[start / :?]造成原因:java.lang.ExceptionInInitializerError在net.minecraft.client.Minecraft.getSystemTime(Minecraft.java:3159)〜[Minecraft.class :?]在net.minecraft.client.main.Main.main(Main.java:42)〜[Main.class :?]...另外12个造成原因:java.lang.NullPointerException在java.lang.ClassLoader.loadLibrary(ClassLoader.java:1847)〜[?:1.8.0_242]在java.lang.Runtime.loadLibrary0(Runtime.java:871)〜[?:1.8.0_242]在java.lang.System.loadLibrary(System.java:1124)〜[?:1.8.0_242]在org.lwjgl.Sys $ 1.run(Sys.java:72)〜[lwjgl-2.9.4-nightly-20150209.jar :?]在java.security.AccessController.doPrivileged(本机方法)〜[?:1.8.0_242]在org.lwjgl.Sys.doLoadLibrary(Sys.java:66)〜[lwjgl-2.9.4-nightly-20150209.jar :?]在org.lwjgl.Sys.loadLibrary(Sys.java:87)〜[lwjgl-2.9.4-nightly-20150209.jar :?]在org.lwjgl.Sys。(Sys.java:117)〜[lwjgl-2.9.4-nightly-20150209.jar :?]在net.minecraft.client.Minecraft.getSystemTime(Minecraft.java:3159)〜[Minecraft.class :?]在net.minecraft.client.main.Main.main(Main.java:42)〜[Main.class :?]...另外12个线程“ main”中的异常[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1052]:java.lang.reflect.InvocationTargetException[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1052]:在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1052]:在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1052]:在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1052]:在java.lang.reflect.Method.invoke(Method.java:498)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1052]:在net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1052]:在GradleStart.main(GradleStart.java:25)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1061]:由以下原因引起:net.minecraftforge.fml.relauncher.FMLSecurityManager $ ExitTrappedException[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1061]:在net.minecraftforge.fml.relauncher.FMLSecurityManager.checkPermission(FMLSecurityManager.java:49)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1061]:在java.lang.SecurityManager.checkExit(SecurityManager.java:761)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1061]:在java.lang.Runtime.exit(Runtime.java:108)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1061]:在java.lang.System.exit(System.java:973)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1061]:在net.minecraft.launchwrapper.Launch.launch(Launch.java:138)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1061]:在net.minecraft.launchwrapper.Launch.main(Launch.java:28)[07:55:11] [main / INFO] [STDERR]:[java.lang.ThreadGroup:uncaughtException:1061]:...还有6个:runClient失败

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':runClient'.
> Process 'command 'C:\Program Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.242-1\bin\java.exe'' finished

具有非零退出值1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 9.208 secs

我该怎么办?

也gradlew构建很好。

gradle minecraft forge
1个回答
0
投票

如果您要使用ForgeGradle 3进行改装,则可以立即运行Client因为ForgeGradle 3已更新。

如果您不打算使用ForgeGradle 3.x,则无能为力与官方的ForgeGradle。 Forge开发人员小组永远不会修复它。(请参阅https://github.com/MinecraftForge/ForgeGradle/issues/652

您可以使用ForgeGradle的fork或制作ForgeGradle的fork。

我制作了ForgeGradle 2.3的叉子和1.2,因此您可以使用它们。(如果对我的叉子有疑问,请在其中提出问题。)如果您使用的不是2.3或1.2的ForgeGradle,或者如果您不想使用我的fork,您可以制作ForgeGradle的叉子。

为什么会发生这种情况,以及您应该在叉子中进行哪些更改

为什么会这样

此崩溃的原因代码是hackNatives()中的GradleStart功能。hackNatives功能设置ClassLoader.sys_pathsnull重置ClassLoader.usr_paths

直到8u242,ClassLoader.loadLibrary检查sys_paths是否为null,并且如果sys_pathsusr_paths,请重置sys_pathsnull

但是由于8u242,启动JVM时会初始化sys_pathsusr_pathsClassLoader.loadLibrary永远不会检查sys_paths是否为null。(请参阅http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/1d666f78532a/

您应该在叉子上进行哪些更改

我们必须在hackNatives()类的GradleStart中重写,在资源目录中。要重置usr_paths,请执行usr_paths = initializePath("java.library.path")hackNatives()中有反射。(您可以在minecraft forge 1.15.x userdev中引用hackNatives:LaunchTesting.java#L126

© www.soinside.com 2019 - 2024. All rights reserved.