GA_空人
本帖最后由 GA_空人 于 2016-10-3 07:00 编辑

第一次开发插件,写完之后打包好本地开个服务器进行测试,然而加载阶段直接报错;我尝试过重构掉所有的static/给这个类改名/更换引用的craftbukkit成和我测试环境一样版本的cauldron,但是这个报错就像某个空气人一样.附上报错信息
  1. [06:52:21] [Server thread/INFO]: [Vault][Chat] GroupManager - Chat hooked.
  2. [06:52:21] [Server thread/INFO]: [EndangerSpecies] Enabling EndangerSpecies v0.1.2
  3. [06:52:21] [Server thread/INFO]: [EndangerSpecies] 初始化0.1.2
  4. [06:52:21] [Server thread/ERROR]: Error occurred while enabling EndangerSpecies v0.1.2 (Is it up to date?)
  5. java.lang.NoClassDefFoundError: com/endanger/sorato/EndangerManager
  6.         at com.endanger.sorato.PluginMain.onEnable(PluginMain.java:40) ~[?:?]
  7.         at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[JavaPlugin.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  8.         at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:368) [JavaPluginLoader.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  9.         at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:410) [SimplePluginManager.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  10.         at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:415) [CraftServer.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  11.         at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:349) [CraftServer.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  12.         at net.minecraft.server.MinecraftServer.func_71243_i(MinecraftServer.java:500) [MinecraftServer.class:?]
  13.         at net.minecraft.server.MinecraftServer.func_71222_d(MinecraftServer.java:474) [MinecraftServer.class:?]
  14.         at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:434) [MinecraftServer.class:?]
  15.         at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:335) [lt.class:?]
  16.         at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:620) [MinecraftServer.class:?]
  17.         at java.lang.Thread.run(Unknown Source) [?:1.8.0_102]
  18. Caused by: java.lang.ClassNotFoundException: Failed to remap class com.endanger.sorato.EndangerManager
  19.         at org.bukkit.plugin.java.PluginClassLoader.remappedFindClass(PluginClassLoader.java:488) ~[PluginClassLoader.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  20.         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:409) ~[PluginClassLoader.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  21.         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:211) ~[PluginClassLoader.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  22.         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_102]
  23.         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_102]
  24.         ... 12 more
  25. Caused by: java.lang.IllegalArgumentException: INVOKESPECIAL/STATIC on interfaces require ASM 5
  26.         at org.objectweb.asm.MethodVisitor.visitMethodInsn(Unknown Source) ~[asm-all-5.0.3.jar:5.0.3]
  27.         at org.objectweb.asm.ClassReader.a(Unknown Source) ~[asm-all-5.0.3.jar:5.0.3]
  28.         at org.objectweb.asm.ClassReader.b(Unknown Source) ~[asm-all-5.0.3.jar:5.0.3]
  29.         at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-all-5.0.3.jar:5.0.3]
  30.         at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-all-5.0.3.jar:5.0.3]
  31.         at net.md_5.specialsource.JarRemapper.remapClassFile(JarRemapper.java:246) ~[JarRemapper.class:?]
  32.         at net.md_5.specialsource.JarRemapper.remapClassFile(JarRemapper.java:232) ~[JarRemapper.class:?]
  33.         at org.bukkit.plugin.java.PluginClassLoader.remappedFindClass(PluginClassLoader.java:453) ~[PluginClassLoader.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  34.         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:409) ~[PluginClassLoader.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  35.         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:211) ~[PluginClassLoader.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
  36.         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_102]
  37.         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_102]
  38.         ... 12 more
  39. [06:52:21] [Server thread/INFO]: [Essentials] Enabling Essentials v2.0.1-b342
复制代码
附上相关部分的代码




914554688wyt
很少用单例.. 直接用静态更好

RecursiveG
目测 Cauldron 和 Java8 存在兼容性问题。
尝试换用 Java7 或者升级 Cauldron 版本。

liach
你用的SpecialSource版本太老,用的ASM4不支持Java8接口里面的default方法。
在这个commit后SpecialSource才支持Java8。
https://github.com/md-5/SpecialS ... d9d48e3026536c6a4a0

推荐把你服务器库的SpecialSource用1.7.2以上版本。不行的话用Java6编插件。

GA_空人
liach 发表于 2016-10-4 06:11
你用的SpecialSource版本太老,用的ASM4不支持Java8接口里面的default方法。
在这个commit后SpecialSource ...

感谢,确实是是这个的锅;1.7.10-1388的cauldron已经用了asm5但是用的旧SpecialSource...

第一页 上一页 下一页 最后一页