因此,我正在构建一个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());
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();
}
}
我看过网上有人说要修复,我需要包括ojdbc6.jar并将其用作我的连接驱动程序。
我将文件添加到文件夹lib下的项目结构中,将其包含到我的项目中,然后将其添加到我的构建文件中。
http://i.imgur.com/7TXLbjj.png
并将连接驱动程序更改为oracle.jdbc.OracleDriver
但是即时通讯收到相同的问题,似乎不是一个解决办法。尽管有机会我做错了一切。
谁能帮助我,提供任何见解等?
编辑**
从命令行
$ java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
从Eclipse
System.out.println(System.getProperty("java.runtime.version"));
返回1.8.0_51-b16
但是两者都在同一台PC上,所以我期望值相同吗?
该方法ResultSet.getObject(String columnLabel, Class<T> type)
是在JDBC 4.1(Java 7)中添加的。看起来您正在使用JDBC
4.0驱动程序,而不是JDBC 4.1(或JDBC 4.2 / Java 8)驱动程序。
您可能需要更新JDBC驱动程序(Connector / J
MySQL驱动程序的最新版本是5.1.38)。
Animal.java 我为它创建了以下自定义断言: AnimalAssert.java 编辑:基于第一个答案(cglib需要一个),我用一个no arg构造函数更新了动物类,但是抛出了相同的异常
我的应用程序一直在许多Android平台上报告这个问题(4.1、4.0.4、2.3.6.…)。但我无法在我的手机上复制这个问题。我已经在Google上搜索了这个问题,但堆栈跟踪似乎与我的不一样。
我有一台带有Intel CPU的Windows机器(在引导菜单上启用VMX)。我使用VirtualBox在上面运行Ubuntu Guest。我在上面运行qemu,以运行另一个Guest OS,使用kvm(选项)。 我在尝试插入kvm-intel模块时收到以下错误: 我已经检查了来宾操作系统中的vpx标志,但我也没有看到 有没有办法在来宾Ubuntu操作系统中启用kvm支持,以便我可以在Ubuntu
我试图从java程序中使用Spark SQL,其中pom.xml中的依赖关系指向Spark版本1.6.0。下面是程序 但是,我在线程“main”java.lang.nosuchmethoderror:org.apache.spark.sql.sqlcontext.sql(ljava/lang/string;)lorg/apache/spark/sql/dataframe中出现异常;我正在创建一个平
主机系统为ARCHLinux。我想开发需要运行Windows docker容器的.NET4.6.1应用程序。所以我在VirtualBox下运行Win10。然后我在Win10中安装Docker,以运行Windows Docker容器。Linux->VirtualBox->Win10->Docker->Windows Docker容器->要运行的应用程序。 或者更具体地说,VirtualBox是否支持
问题内容: 我正在尝试根据此教程在我的应用程序中实现NotificationListenerService:http : //www.kpbird.com/2013/07/android- notificationlistenerservice.html ,但是调用getActiveNotifications时出现NullPointerException。 我正在向该服务发送广播,该广播应生成所有