当前位置: 首页 > 知识库问答 >
问题:

试图从Eclipse运行Minecraft时发生了非法的反射访问操作

居星阑
2023-03-14

我想开始Minecraft,但我无法从Eclipse启动它。以下是当我尝试将run configurationsnet.minecraftforge.legacydev.mainclient一起使用时收到的错误消息

[2020-10-18 19:22:51] [INFO   ] Natives: C:\Users\MyPC\Documents\Projects\Forge-MDK\build\natives 
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by net.minecraftforge.legacydev.MainClient (file:/C:/Users/MyPC/.gradle/caches/modules-2/files-2.1/net.minecraftforge/legacydev/0.2.3.1/f2cd4a8c9f09faf1c1e4a9a4c65df36e634f95db/legacydev-0.2.3.1-fatjar.jar) to method java.lang.ClassLoader.initializePath(java.lang.String)
WARNING: Please consider reporting this to the maintainers of net.minecraftforge.legacydev.MainClient
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[2020-10-18 19:22:51] [INFO   ] Main Class: net.minecraft.launchwrapper.Launch 
[2020-10-18 19:22:51] [INFO   ] Srg2Mcp: C:\Users\MyPC\Documents\Projects\Forge-MDK\build\createSrgToMcp\output.srg 
[2020-10-18 19:22:51] [INFO   ] Extra: [] 
[2020-10-18 19:22:51] [INFO   ] Running with arguments: [--version, 1.16.2, --assetIndex, 1.12, --assetsDir, C:\Users\MyPC\.gradle\caches\forge_gradle\assets, --accessToken, {REDACTED}, --userProperties, [], --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker] 
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at net.minecraftforge.legacydev.Main.start(Main.java:86)
    at net.minecraftforge.legacydev.MainClient.main(MainClient.java:29)
Caused by: java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
    at net.minecraft.launchwrapper.Launch.<init>(Launch.java:34)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    ... 6 more

我以前检查过类似的问题,普遍的共识是Minecraft不支持最新版本的Java,我必须使用Java8(或1.8)。因此,我更改了Eclipse首选项,将执行环境设置为Java Platform,Standard Edition 8.0。我还下载了版本为OpenJDK“1.8.0_265”的JDK,并将编译器首选项设置为1.8。这些方法都没有解决这个问题。我知道如果我使用的是Java8,这个问题应该是不可能的,那么我忘记了什么呢?

提前感谢!

共有1个答案

哈翔
2023-03-14

我只是为自己解决了这个问题。我必须将JRE1.8.0_261添加到“Java>Installed JREs”,然后选择“Java>Installed JREs>Execution Environments”,并确保下拉菜单显示“cdc-1.0/foundation-1.0(JRE1.8.0_261)”。

 类似资料:
  • 在尝试构建时,。我按照其他人的建议添加了,但仍然得到相同的错误。 有什么建议吗? pom.xml

  • 我试图使用Java9(JDK9)运行DMelt programs(http://jwork.org/DMelt/)程序,它给出了如下错误: 我该怎么修好它?我试图在脚本“dmelt.sh”的最后一行添加-illegal-access=permit(我在Linux中使用bash),但这并没有解决这个问题。我对此很沮丧。我经常使用这个程序,很长一段时间了。也许我永远不应该转到JDK9

  • 问题内容: 我正在尝试使用Java9(JDK9)运行DMelt程序(http://jwork.org/dmelt/)程序,它给了我以下错误: 我该如何解决?我试图将–illegal-access = permit添加到脚本“ dmelt.sh”的最后一行(我在Linux中使用bash),但这不能解决此问题。我对此感到非常沮丧。我经常使用此程序很长时间。也许我永远不应该转向JDK9 问题答案: 解决

  • 我在Eclipse(版本2019-06)中运行一个项目,它在我的java计算机上运行得很好--“OpenJDK 1.8.0_222” 然而,当我尝试tor在Eclipse(版本2021-3)上的另一台计算机上用java运行该项目时--“OpenJDK版本”1.8.0_292“,它不起作用! 我得到以下错误: 警告:发生非法反射访问操作警告:com.google.gson.internal.bind

  • 我正在使用Apache POI处理excel文件,从Java9开始,我得到了这条消息,根据这篇文章JDK9:发生了非法的反射访问操作。pySystemState我们应该等待开发人员修复这个问题,但是我应该在新的生产版本中保留它吗?我想跳过警告应该没问题。

  • 我添加了两个新的依赖项到我的演示应用程序,这是Spring集成和Spring集成文件。之后,我在控制台中得到以下警告。应用程序工作正常,但它困扰着我。 我如何克服这个问题? 我的项目的SDK版本是15.0.2 Spring引导版本 添加依赖项