因此,我正在构建一个minecraft插件,该插件的一部分从mysql抓取一堆数据块,并在服务器启动时将其加载到缓存中。我有一些代码可以在Eclipse测试用例中正常运行。但是,当我在本地的minecraft服务器中加载插件时,出现了异常。
java.lang.AbstractMethodError:方法com / mysql / jdbc / JDBC4ResultSet.getObject(Ljava / lang / String; Ljava / lang / Class;)Ljava / lang / Object; 是抽象的
在com.mysql.jdbc.JDBC4ResultSet.getObject(JDBC4ResultSet.java)处〜[spigot-1.8.8.jar:git-Spigot-db6de12-d3e0b6f]
在fws.plugins.trigger.database.ModelDB.loadCollection(ModelDB.java:335)〜[?:?]
在fws.plugins.trigger.database.ModelDB.all(ModelDB.java:295)〜[?:?]
等等...
抛出异常的代码。
rs.getObject( field.getName(), p.fieldType());
Run Code Online (Sandbox Code Playgroud)
rs是java.sql.ResultSet从执行查询返回的实例。
p.fieldType()只是返回一个 Class<?>
片段稍大...并不是真的可以向您显示其他内容。
if (field.isAnnotationPresent(Persist.class)) {
try {
Persist p = field.getAnnotation(Persist.class);
Object o = rs.getObject( field.getName(), p.fieldType());
field.set(m,p.fieldType().cast(o));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我看过网上有人说要修复,我需要包括ojdbc6.jar并将其用作我的连接驱动程序。
我将文件添加到文件夹lib下的项目结构中,将其包含到我的项目中,然后将其添加到我的构建文件中。
http://i.imgur.com/7TXLbjj.png
并将连接驱动程序更改为oracle.jdbc.OracleDriver
但是即时通讯收到相同的问题,似乎不是一个解决办法。虽然有机会我做错了。
谁能帮助我,提供任何见解等?
编辑**
从命令行
$ java -version
java …Run Code Online (Sandbox Code Playgroud)