洛小亚
Uncaught exception in thread "main"
java.lang.RuntimeException: An exception occurred when launching the server!
        at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:68)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66)
Caused by: java.lang.RuntimeException: Error invoking MC server bundler: java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor.process(BundlerProcessor.java:103)
        at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.locateGame(MinecraftGameProvider.java:187)
        at net.fabricmc.loader.impl.launch.knot.Knot.createGameProvider(Knot.java:172)
        at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:125)
        at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:71)
        at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)
        ... 5 more
Caused by: java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor$1.loadClass(BundlerProcessor.java:66)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor.process(BundlerProcessor.java:86)
        ... 10 more

服务器版本为1.18,这种情况是应该在bat里改java路径吗,如果是该如何修改


ABlueCat
使用Java 17来运行服务端

洛小亚
ABlueCat 发表于 2022-5-17 13:32
使用Java 17来运行服务端

emmm这个我倒是知道,主要是怎么改,这个服务端路径写法和1.12X版本写法不一样(

洛小亚
本帖最后由 洛小亚 于 2022-5-17 13:35 编辑

就,他是这样写的,但我不是很能理解...麻烦大佬教教,谢谢啦

ABlueCat
洛小亚 发表于 2022-5-17 13:34
就,他是这样写的,但我不是很能理解...麻烦大佬教教,谢谢啦

没事,将系统中存在的Java卸载掉,然后安装Java17就行,不需要动脚本。
Java17: https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/17/

HibikiLF
Java -version 看路径中的Java版本
如果想更改java版本 需要手动更改环境变量 或者卸载不想要的版本

孤独苦力怕
洛小亚 发表于 2022-5-17 13:34
就,他是这样写的,但我不是很能理解...麻烦大佬教教,谢谢啦

这个是用的环境变量默认的Java,要不就删掉当前jdk再安装新jdk,环境变量里就会替换成新jdk
要么直接下个新jdk,然后启动脚本里用绝对路径指向新jdk

钵仔水果糕
把java -jar -xxx.jar 换成java所在路径
比如 "X:\java\JDK16\bin\java.exe" -jar -xxx.jar
上面的路径就换成你其他版本的Java就可以了

Flower_胡子
洛小亚 发表于 2022-5-17 13:34
就,他是这样写的,但我不是很能理解...麻烦大佬教教,谢谢啦

java换成java17目录
例如
"C:\Program Files\Java\jdk-17.0.1\bin\java.exe"