致命异常:main java.lang.VerifyError:net.sourceforge.jtds.jdbc.TdsCore

致命异常:main java.lang.VerifyError:net.sourceforge.jtds.jdbc.TdsCore,java,android,sql-server,jtds,Java,Android,Sql Server,Jtds,在我的Android项目中,我使用jtds.jdbc连接SQL Server数据库。在尝试连接时,我写入了错误的连接字符串,该字符串引发了一个错误:“网络错误IOException:连接超时” 这证明了JTDS包含在我的项目中并在工作。但是,当我编写正确的连接字符串时,出现了以下错误: 11-28 08:09:31.929: I/dalvikvm(13041): Could not find method org.ietf.jgss.GSSManager.getInstance, referen

在我的Android项目中,我使用jtds.jdbc连接SQL Server数据库。在尝试连接时,我写入了错误的连接字符串,该字符串引发了一个错误:“网络错误IOException:连接超时”

这证明了JTDS包含在我的项目中并在工作。但是,当我编写正确的连接字符串时,出现了以下错误:

11-28 08:09:31.929: I/dalvikvm(13041): Could not find method org.ietf.jgss.GSSManager.getInstance, referenced from method net.sourceforge.jtds.jdbc.TdsCore.createGssToken
11-28 08:09:31.929: W/dalvikvm(13041): VFY: unable to resolve static method 7980: Lorg/ietf/jgss/GSSManager;.getInstance ()Lorg/ietf/jgss/GSSManager;
11-28 08:09:31.929: D/dalvikvm(13041): VFY: replacing opcode 0x71 at 0x0001
11-28 08:09:31.929: D/dalvikvm(13041): VFY: dead code 0x0004-0090 in Lnet/sourceforge/jtds/jdbc/TdsCore;.createGssToken ()[B
11-28 08:09:31.949: I/dalvikvm(13041): Could not find method org.ietf.jgss.GSSContext.initSecContext, referenced from method net.sourceforge.jtds.jdbc.TdsCore.sendGssToken
11-28 08:09:31.949: W/dalvikvm(13041): VFY: unable to resolve interface method 7974: Lorg/ietf/jgss/GSSContext;.initSecContext ([BII)[B
11-28 08:09:31.949: D/dalvikvm(13041): VFY: replacing opcode 0x72 at 0x0008
11-28 08:09:31.949: W/dalvikvm(13041): VFY: unable to resolve exception class 1082 (Lorg/ietf/jgss/GSSException;)
11-28 08:09:31.949: W/dalvikvm(13041): VFY: unable to find exception handler at addr 0x4c
11-28 08:09:31.949: W/dalvikvm(13041): VFY:  rejected Lnet/sourceforge/jtds/jdbc/TdsCore;.sendGssToken ()V
11-28 08:09:31.949: W/dalvikvm(13041): VFY:  rejecting opcode 0x0d at 0x004c
11-28 08:09:31.949: W/dalvikvm(13041): VFY:  rejected Lnet/sourceforge/jtds/jdbc/TdsCore;.sendGssToken ()V
11-28 08:09:31.949: W/dalvikvm(13041): Verifier rejected class Lnet/sourceforge/jtds/jdbc/TdsCore;
11-28 08:09:31.949: D/AndroidRuntime(13041): Shutting down VM
11-28 08:09:31.949: W/dalvikvm(13041): threadid=1: thread exiting with uncaught exception (group=0x40018560)
11-28 08:09:32.189: E/AndroidRuntime(13041): FATAL EXCEPTION: main
11-28 08:09:32.189: E/AndroidRuntime(13041): java.lang.VerifyError: net.sourceforge.jtds.jdbc.TdsCore
11-28 08:09:32.189: E/AndroidRuntime(13041):    at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:359)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at java.sql.DriverManager.getConnection(DriverManager.java:180)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at java.sql.DriverManager.getConnection(DriverManager.java:145)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at fip.cis.k.PostavkeActivity$1.onClick(PostavkeActivity.java:50)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.view.View.performClick(View.java:2501)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.view.View$PerformClick.run(View.java:9107)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.os.Handler.handleCallback(Handler.java:587)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.os.Handler.dispatchMessage(Handler.java:92)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.os.Looper.loop(Looper.java:130)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.app.ActivityThread.main(ActivityThread.java:3835)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at java.lang.reflect.Method.invokeNative(Native Method)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at java.lang.reflect.Method.invoke(Method.java:507)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at dalvik.system.NativeStart.main(Native Method)
11-28 08:09:31.929:I/dalvikvm(13041):找不到方法org.ietf.jgss.GSSManager.getInstance,该方法引用自方法net.sourceforge.jtds.jdbc.TdsCore.createGssToken
11-28 08:09:31.929:W/dalvikvm(13041):VFY:无法解析静态方法7980:Lorg/ietf/jgss/GSSManager;。getInstance()Lorg/ietf/jgss/GSSManager;
11-28 08:09:31.929:D/dalvikvm(13041):VFY:在0x0001处替换操作码0x71
11-28 08:09:31.929:D/dalvikvm(13041):VFY:Lnet/sourceforge/jtds/jdbc/TdsCore;中的死代码0x0004-0090;。createGssToken()[B
11-28 08:09:31.949:I/dalvikvm(13041):找不到方法org.ietf.jgss.GSSContext.initSecContext,该方法引用自方法net.sourceforge.jtds.jdbc.TdsCore.sendGssToken
11-28 08:09:31.949:W/dalvikvm(13041):VFY:无法解析接口方法7974:Lorg/ietf/jgss/GSSContext;.initSecContext([BII)[B]
11-28 08:09:31.949:D/dalvikvm(13041):VFY:在0x0008处替换操作码0x72
11-28 08:09:31.949:W/dalvikvm(13041):VFY:无法解析异常类1082(Lorg/ietf/jgss/GSSException;)
11-28 08:09:31.949:W/dalvikvm(13041):VFY:无法在addr 0x4c处找到异常处理程序
11-28 08:09:31.949:W/dalvikvm(13041):VFY:拒绝Lnet/sourceforge/jtds/jdbc/TdsCore;.sendGssToken()V
11-28 08:09:31.949:W/dalvikvm(13041):VFY:在0x004c处拒绝操作码0x0d
11-28 08:09:31.949:W/dalvikvm(13041):VFY:拒绝Lnet/sourceforge/jtds/jdbc/TdsCore;.sendGssToken()V
11-28 08:09:31.949:W/dalvikvm(13041):验证人拒绝Lnet/sourceforge/jtds/jdbc/TdsCore类;
11-28 08:09:31.949:D/AndroidRuntime(13041):关闭虚拟机
11-28 08:09:31.949:W/dalvikvm(13041):threadid=1:线程以未捕获异常退出(组=0x40018560)
11-28 08:09:32.189:E/AndroidRuntime(13041):致命异常:主
11-28 08:09:32.189:E/AndroidRuntime(13041):java.lang.VerifyError:net.sourceforge.jtds.jdbc.TdsCore
11-28 08:09:32.189:E/AndroidRuntime(13041):at net.sourceforge.jtds.jdbc.JtdsConnection.(JtdsConnection.java:359)
11-28 08:09:32.189:E/AndroidRuntime(13041):位于net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
11-28 08:09:32.189:E/AndroidRuntime(13041):位于java.sql.DriverManager.getConnection(DriverManager.java:180)
11-28 08:09:32.189:E/AndroidRuntime(13041):位于java.sql.DriverManager.getConnection(DriverManager.java:145)
11-28 08:09:32.189:E/AndroidRuntime(13041):在fip.cis.k.PostavkeActivity$1.onClick(PostavkeActivity.java:50)
11-28 08:09:32.189:E/AndroidRuntime(13041):在android.view.view.performClick(view.java:2501)
11-28 08:09:32.189:E/AndroidRuntime(13041):在android.view.view$PerformClick.run(view.java:9107)
11-28 08:09:32.189:E/AndroidRuntime(13041):在android.os.Handler.handleCallback(Handler.java:587)上
11-28 08:09:32.189:E/AndroidRuntime(13041):在android.os.Handler.dispatchMessage(Handler.java:92)上
11-28 08:09:32.189:E/AndroidRuntime(13041):在android.os.Looper.loop(Looper.java:130)上
11-28 08:09:32.189:E/AndroidRuntime(13041):位于android.app.ActivityThread.main(ActivityThread.java:3835)
11-28 08:09:32.189:E/AndroidRuntime(13041):位于java.lang.reflect.Method.Invokenactive(本机方法)
11-28 08:09:32.189:E/AndroidRuntime(13041):位于java.lang.reflect.Method.invoke(Method.java:507)
11-28 08:09:32.189:E/AndroidRuntime(13041):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
11-28 08:09:32.189:E/AndroidRuntime(13041):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-28 08:09:32.189:E/AndroidRuntime(13041):在dalvik.system.NativeStart.main(本机方法)
Myjtds-1.3.1.jar位于libs文件夹和Android私有库中,并按顺序进行检查和导出

GSSManager是一个来自Java的类。但是我确实在构建中包含了jre7

我确实试过:

  • 构建路径的所有技巧
  • 更改java编译级别
有什么建议吗


编辑:sendGssToken()方法可以在org.ietf.jgss.GSSManager和net.sourceforge.jrds.jdbc.TdsCore类中找到。我刚刚使用了一个Earler jar,它工作正常。

遇到了同样的问题,跳回使用jtds-1.3.0.jar并解决了问题。+1
11-28 08:09:31.929: I/dalvikvm(13041): Could not find method org.ietf.jgss.GSSManager.getInstance, referenced from method net.sourceforge.jtds.jdbc.TdsCore.createGssToken
11-28 08:09:31.929: W/dalvikvm(13041): VFY: unable to resolve static method 7980: Lorg/ietf/jgss/GSSManager;.getInstance ()Lorg/ietf/jgss/GSSManager;
11-28 08:09:31.929: D/dalvikvm(13041): VFY: replacing opcode 0x71 at 0x0001
11-28 08:09:31.929: D/dalvikvm(13041): VFY: dead code 0x0004-0090 in Lnet/sourceforge/jtds/jdbc/TdsCore;.createGssToken ()[B
11-28 08:09:31.949: I/dalvikvm(13041): Could not find method org.ietf.jgss.GSSContext.initSecContext, referenced from method net.sourceforge.jtds.jdbc.TdsCore.sendGssToken
11-28 08:09:31.949: W/dalvikvm(13041): VFY: unable to resolve interface method 7974: Lorg/ietf/jgss/GSSContext;.initSecContext ([BII)[B
11-28 08:09:31.949: D/dalvikvm(13041): VFY: replacing opcode 0x72 at 0x0008
11-28 08:09:31.949: W/dalvikvm(13041): VFY: unable to resolve exception class 1082 (Lorg/ietf/jgss/GSSException;)
11-28 08:09:31.949: W/dalvikvm(13041): VFY: unable to find exception handler at addr 0x4c
11-28 08:09:31.949: W/dalvikvm(13041): VFY:  rejected Lnet/sourceforge/jtds/jdbc/TdsCore;.sendGssToken ()V
11-28 08:09:31.949: W/dalvikvm(13041): VFY:  rejecting opcode 0x0d at 0x004c
11-28 08:09:31.949: W/dalvikvm(13041): VFY:  rejected Lnet/sourceforge/jtds/jdbc/TdsCore;.sendGssToken ()V
11-28 08:09:31.949: W/dalvikvm(13041): Verifier rejected class Lnet/sourceforge/jtds/jdbc/TdsCore;
11-28 08:09:31.949: D/AndroidRuntime(13041): Shutting down VM
11-28 08:09:31.949: W/dalvikvm(13041): threadid=1: thread exiting with uncaught exception (group=0x40018560)
11-28 08:09:32.189: E/AndroidRuntime(13041): FATAL EXCEPTION: main
11-28 08:09:32.189: E/AndroidRuntime(13041): java.lang.VerifyError: net.sourceforge.jtds.jdbc.TdsCore
11-28 08:09:32.189: E/AndroidRuntime(13041):    at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:359)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at java.sql.DriverManager.getConnection(DriverManager.java:180)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at java.sql.DriverManager.getConnection(DriverManager.java:145)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at fip.cis.k.PostavkeActivity$1.onClick(PostavkeActivity.java:50)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.view.View.performClick(View.java:2501)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.view.View$PerformClick.run(View.java:9107)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.os.Handler.handleCallback(Handler.java:587)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.os.Handler.dispatchMessage(Handler.java:92)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.os.Looper.loop(Looper.java:130)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at android.app.ActivityThread.main(ActivityThread.java:3835)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at java.lang.reflect.Method.invokeNative(Native Method)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at java.lang.reflect.Method.invoke(Method.java:507)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-28 08:09:32.189: E/AndroidRuntime(13041):    at dalvik.system.NativeStart.main(Native Method)