8000 在 Java22 上无法启动 Bukkit 插件 · Issue #461 · TabooLib/taboolib · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

在 Java22 上无法启动 Bukkit 插件 #461

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
heyhey123-git opened this issue Sep 15, 2024 · 2 comments
Closed

在 Java22 上无法启动 Bukkit 插件 #461

heyhey123-git opened this issue Sep 15, 2024 · 2 comments

Comments

@heyhey123-git
Copy link

问题描述

在 Java22 上无法启动 Bukkit 插件,在 Java21 上正常。

报错日志

[22:00:34 ERROR]: [ModernPluginLoadingStrategy] Could not load plugin 'ExamplePlugin-1.0.0.jar' in folder 'plugins\.paper-remapped'
org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
        at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:129) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:35) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        at io.papermc.paper.plugin.entrypoint.strategy.modern.ModernPluginLoadingStrategy.loadProviders(ModernPluginLoadingStrategy.java:116) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:38) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:40) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:564) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:341) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1217) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        at java.base/java.lang.Thread.run(Thread.java:1570) ~[?:?]
Caused by: java.lang.ExceptionInInitializerError
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.JavaClassField$handleGetter$2.invoke(JavaClassField.kt:12) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.JavaClassField$handleGetter$2.invoke(JavaClassField.kt:10) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/kotlin1922.UnsafeLazyImpl.getValue(Lazy.kt:81) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.JavaClassField.getHandleGetter(JavaClassField.kt:10) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.JavaClassField.get(JavaClassField.kt:31) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.ClassField.get$default(ClassField.kt:13) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.ReflexClass.getInstance(ReflexClass.kt:84) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.ReflexClass.getInstance(ReflexClass.kt:65) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.platform.PlatformFactory.init$lambda$5(PlatformFactory.kt:68) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.TabooLib$2.run(TabooLib.java:113) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.TabooLib.lambda$lifeCycle$0(TabooLib.java:80) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.TabooLib.execution(TabooLib.java:222) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.TabooLib.lifeCycle(TabooLib.java:73) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.platform.BukkitPlugin.lambda$static$0(BukkitPlugin.java:48) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.TabooLib.execution(TabooLib.java:222) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.platform.BukkitPlugin.<clinit>(BukkitPlugin.java:35) ~[ExamplePlugin-1.0.0.jar:?]
        at java.base/java.lang.Class.forName0(Native Method) ~[?:?]
        at java.base/java.lang.Class.forName(Class.java:529) ~[?:?]
        at java.base/java.lang.Class.forName(Class.java:508) ~[?:?]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:78) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:125) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        ... 9 more
Caused by: java.lang.IllegalStateException: Unsafe not found
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.UnsafeAccess.<clinit>(UnsafeAccess.kt:34) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.JavaClassField$handleGetter$2.invoke(JavaClassField.kt:12) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.JavaClassField$handleGetter$2.invoke(JavaClassField.kt:10) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/kotlin1922.UnsafeLazyImpl.getValue(Lazy.kt:81) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.JavaClassField.getHandleGetter(JavaClassField.kt:10) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.JavaClassField.get(JavaClassField.kt:31) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.ClassField.get$default(ClassField.kt:13) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.ReflexClass.getInstance(ReflexClass.kt:84) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.library.reflex.ReflexClass.getInstance(ReflexClass.kt:65) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.platform.PlatformFactory.init$lambda$5(PlatformFactory.kt:68) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.TabooLib$2.run(TabooLib.java:113) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.TabooLib.lambda$lifeCycle$0(TabooLib.java:80) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.TabooLib.execution(TabooLib.java:222) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.TabooLib.lifeCycle(TabooLib.java:73) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.platform.BukkitPlugin.lambda$static$0(BukkitPlugin.java:48) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.common.TabooLib.execution(TabooLib.java:222) ~[ExamplePlugin-1.0.0.jar:?]
        at ExamplePlugin-1.0.0.jar/io.github.username.project.taboolib.platform.BukkitPlugin.<clinit>(BukkitPlugin.java:35) ~[ExamplePlugin-1.0.0.jar:?]
        at java.base/java.lang.Class.forName0(Native Method) ~[?:?]
        at java.base/java.lang.Class.forName(Class.java:529) ~[?:?]
        at java.base/java.lang.Class.forName(Class.java:508) ~[?:?]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:78) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:125) ~[leaf-1.21.1.jar:1.21.1-DEV-f1c8332]
        ... 9 more

版本信息

  • taboolib
    6.2.0-beta3
  • 服务端
    Leaf version 1.21.1-DEV-ver/1.21.1@f1c8332 (2024-09-13T06:18:54Z) (Implementing API version 1.21.1-R0.1-SNAPSHOT)
  • 测试使用的 jdk
    OracleJDK, GraalVM, OpenJDK, 分别测试过两个版本。
@Micalhl
Copy link
Contributor
Micalhl commented Sep 15, 2024

该问题是因为 Java 22 中 ensureInitialized 的调用方式变了,曾经修复过这个问题,但暂时不清楚为什么这个问题又出现了。

Micalhl added a commit to Micalhl/taboolib that referenced this issue Sep 15, 2024
Bkm016 8388 added a commit that referenced this issue Sep 15, 2024
[6.2.0][dev] 修复 JDK 22 兼容 (#461)
@Micalhl
Copy link
Contributor
Micalhl commented Sep 15, 2024

请使用 beta6 版本,该版本已修复此问题,感谢反馈。

@Bkm016 Bkm016 closed this as completed Sep 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants
0