【问题标题】:NoSuchMethodError when the method obviously existsNoSuchMethodError 当方法明显存在时
【发布时间】:2012-12-31 01:22:04
【问题描述】:
20:15:43 [INFO] macintosh264 issued server command: /sell hand
20:15:43 [INFO] [XYZShop] MacCommand sell executed
20:15:43 [SEVERE] null
org.bukkit.command.CommandException: Unhandled exception executing command 'sell' in plugin XYZShop v0.1.3
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186)
        at org.bukkit.craftbukkit.v1_4_6.CraftServer.dispatchCommand(CraftServer.java:510)
        at net.minecraft.server.v1_4_6.PlayerConnection.handleCommand(PlayerConnection.java:979)
        at net.minecraft.server.v1_4_6.PlayerConnection.chat(PlayerConnection.java:897)
        at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:852)
        at net.minecraft.server.v1_4_6.Packet3Chat.handle(Packet3Chat.java:44)
        at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290)
        at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112)
        at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39)
        at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30)
        at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598)
        at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224)
        at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494)
        at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427)
        at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
Caused by: java.lang.NoSuchMethodError: dev.xyzcraft.net.database.DatabaseHandler.getItem(IS)Ldev/xyzcraft/net/xyzshop/dataObject/MSItem;
        at dev.xyzcraft.net.xyzshop.commands.SellCommand.onCommand(SellCommand.java:63)
        at dev.xyzcraft.net.xyzshop.util.MacCommand.onCommand(MacCommand.java:44)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
        ... 15 more

我得到了那个例外

代码如下: https://github.com/macintosh264/XYZShop

最后,我正在为一款名为 Bukkit 的流行视频游戏 Minecraft 使用 Mod API。这是 JavaDoc 和库

http://dl.bukkit.org/downloads/bukkit/

http://jd.bukkit.org

“我在另一个使用 MySQL 的项目中也遇到了这个问题,并且在使用 mysql 类时会出现堆栈跟踪。”

  • Macintosh264

【问题讨论】:

  • 你怎么知道它明显存在?你在检查 Java 字节码吗?
  • 确保您使用的库没有多个版本。
  • 我不认为我有多个版本。我会仔细检查。我的另一个使用 MySQL 的项目也有这个问题,并且在使用 mysql 类时会出现堆栈跟踪。
  • speedcap.net/sharing/screen.php?id=files/fe/62/… 好像我没有。在NetBeans中看了一下(以前用eclipse,但是在导入开源项目的时候发现NetBeans比较好用)
  • 当您针对具有该方法的版本进行编译并使用没有该方法的版本执行时会发生此错误。如果没有第一个版本,您将无法编译,如果没有第二个版本,您将不会收到错误。因此,您有两个版本。

标签: java mysql bukkit


【解决方案1】:

似乎您尝试执行的任何内容(即保存命令的方法)都没有正确读取它。尝试重新打包您的项目,这在我身上发生过很多次,通常很容易解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 2021-10-25
    • 2020-10-12
    • 1970-01-01
    • 2019-12-09
    • 2012-05-26
    • 2015-10-08
    相关资源
    最近更新 更多