Jannyboy11 / ScalaPluginLoader

PluginLoader for Bukkit that provides Scala runtime classes and enhanced APIs.
https://www.spigotmc.org/resources/scalaloader.59568/
GNU Lesser General Public License v3.0
26 stars 10 forks source link

Cannot be loaded normally while running on Java 11 #10

Closed freeze-dolphin closed 3 years ago

freeze-dolphin commented 3 years ago

Problems

It will show many errors like this:

``` [18:38:12 ERROR]: [org.bukkit.configuration.serialization.ConfigurationSerialization] Could not call method 'public static xyz.janboerman.scalaloader.plugin.PluginScalaVersion xyz.janboerman.scalaloader.plugin.PluginScalaVersion.deserialize(java.util.Map)' of class xyz.janboerman.scalaloader.plugin.PluginScalaVersion for deserialization java.lang.UnsupportedClassVersionError: xyz/janboerman/scalaloader/compat/Compat has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 55.0 at xyz.janboerman.scalaloader.plugin.PluginScalaVersion.(PluginScalaVersion.java:52) ~[?:?] at xyz.janboerman.scalaloader.plugin.PluginScalaVersion.deserialize(PluginScalaVersion.java:118) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeViaMethod(ConfigurationSerialization.java:85) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.serialization.ConfigurationSerialization.deserialize(ConfigurationSerialization.java:127) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeObject(ConfigurationSerialization.java:207) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.construct(YamlConstructor.java:37) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:229) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:219) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructSequenceStep2(BaseConstructor.java:390) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructSequence(BaseConstructor.java:374) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlSeq.construct(SafeConstructor.java:534) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:229) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:219) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping2ndStep(BaseConstructor.java:479) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.SafeConstructor.constructMapping2ndStep(SafeConstructor.java:190) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping(BaseConstructor.java:460) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlMap.construct(SafeConstructor.java:556) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.construct(YamlConstructor.java:28) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:229) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:219) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:173) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:157) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:490) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.Yaml.load(Yaml.java:416) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:57) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:160) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:128) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:188) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:157) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:133) ~[patched_1.16.5.jar:git-Paper-778] at xyz.janboerman.scalaloader.ScalaLoader.configure(ScalaLoader.java:235) ~[?:?] at xyz.janboerman.scalaloader.ScalaLoader.onLoad(ScalaLoader.java:119) ~[?:?] at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:399) ~[patched_1.16.5.jar:git-Paper-778] at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:269) ~[patched_1.16.5.jar:git-Paper-778] at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1069) ~[patched_1.16.5.jar:git-Paper-778] at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-778] at java.lang.Thread.run(Thread.java:834) [?:?] [18:38:12 ERROR]: [org.bukkit.configuration.serialization.ConfigurationSerialization] Could not call method 'public static xyz.janboerman.scalaloader.plugin.PluginScalaVersion xyz.janboerman.scalaloader.plugin.PluginScalaVersion.deserialize(java.util.Map)' of class xyz.janboerman.scalaloader.plugin.PluginScalaVersion for deserialization java.lang.UnsupportedClassVersionError: xyz/janboerman/scalaloader/compat/Compat has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 55.0 at xyz.janboerman.scalaloader.plugin.PluginScalaVersion.(PluginScalaVersion.java:52) ~[?:?] at xyz.janboerman.scalaloader.plugin.PluginScalaVersion.deserialize(PluginScalaVersion.java:118) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeViaMethod(ConfigurationSerialization.java:85) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.serialization.ConfigurationSerialization.deserialize(ConfigurationSerialization.java:127) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeObject(ConfigurationSerialization.java:207) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.construct(YamlConstructor.java:37) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:229) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:219) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructSequenceStep2(BaseConstructor.java:390) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructSequence(BaseConstructor.java:374) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlSeq.construct(SafeConstructor.java:534) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:229) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:219) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping2ndStep(BaseConstructor.java:479) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.SafeConstructor.constructMapping2ndStep(SafeConstructor.java:190) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping(BaseConstructor.java:460) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlMap.construct(SafeConstructor.java:556) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.construct(YamlConstructor.java:28) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:229) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:219) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:173) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:157) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:490) ~[patched_1.16.5.jar:git-Paper-778] at org.yaml.snakeyaml.Yaml.load(Yaml.java:416) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:57) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:160) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:128) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:188) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:157) ~[patched_1.16.5.jar:git-Paper-778] at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:133) ~[patched_1.16.5.jar:git-Paper-778] at xyz.janboerman.scalaloader.ScalaLoader.configure(ScalaLoader.java:235) ~[?:?] at xyz.janboerman.scalaloader.ScalaLoader.onLoad(ScalaLoader.java:119) ~[?:?] at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:399) ~[patched_1.16.5.jar:git-Paper-778] at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:269) ~[patched_1.16.5.jar:git-Paper-778] at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1069) ~[patched_1.16.5.jar:git-Paper-778] at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-778] at java.lang.Thread.run(Thread.java:834) [?:?] ```

Logs

For full logs please turn to ubuntu paste bin

Jannyboy11 commented 3 years ago

Thanks. Seems I have to configure the javac task in the antrun plugin to emit bytecode at java 11's level (=55). The tutorial I followed for creating multi-release jars didn't mention this, but of course it's obvious now.

Jannyboy11 commented 3 years ago

Fixed as of https://github.com/Jannyboy11/ScalaPluginLoader/commit/ef3e8d2c38ac588318e128630121110276b3b722