【问题标题】:class not found exception in android类在android中找不到异常
【发布时间】:2013-08-20 05:36:49
【问题描述】:

我在 android 中为 SQLConnection 使用以下代码:

public void queryResultSet(String CommandSQL) throws ClassNotFoundException, java.sql.SQLException
    {

        ResultSet rs;
        Connection conn = null;

            Toast msg1 = Toast.makeText(getBaseContext(),
                    "Name = " + CommandSQL, Toast.LENGTH_LONG);
            msg1.show();

             Class.forName("net.sourceforge.jtds.jdbc.Driver");
             String username="14Graficali\\Administrator";
             String ConnUrl="jdbc:jtds:sqlserver://14GRAFICALI\\MSSQLSERVER2008;DatabaseName=DVDKiosk;user=14Graficali\\Administrator;Instance=SQLExpress";
             conn = DriverManager.getConnection(ConnUrl);

            Statement st=conn.createStatement();
            rs=st.executeQuery(CommandSQL);
            while(rs.next())
            {

                Toast msg2 = Toast.makeText(getBaseContext(),
                        "Name = " + rs.getString("UserName"), Toast.LENGTH_LONG);
                msg2.show();
            }

    }

我已经添加了net.sourceforge.jtds.jdbc.Driver,如下所示:

堆栈跟踪:

08-20 10:57:42.087: W/System.err(400): java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver
08-20 10:57:42.087: W/System.err(400):  at java.lang.Class.classForName(Native Method)
08-20 10:57:42.087: W/System.err(400):  at java.lang.Class.forName(Class.java:234)
08-20 10:57:42.087: W/System.err(400):  at java.lang.Class.forName(Class.java:181)
08-20 10:57:42.087: W/System.err(400):  at com.example.registrationapp.Login.queryResultSet(Login.java:93)
08-20 10:57:42.087: W/System.err(400):  at com.example.registrationapp.Login$1.onClick(Login.java:126)
08-20 10:57:42.087: W/System.err(400):  at android.view.View.performClick(View.java:2485)
08-20 10:57:42.087: W/System.err(400):  at android.view.View$PerformClick.run(View.java:9080)
08-20 10:57:42.087: W/System.err(400):  at android.os.Handler.handleCallback(Handler.java:587)
08-20 10:57:42.087: W/System.err(400):  at android.os.Handler.dispatchMessage(Handler.java:92)
08-20 10:57:42.098: W/System.err(400):  at android.os.Looper.loop(Looper.java:123)
08-20 10:57:42.098: W/System.err(400):  at android.app.ActivityThread.main(ActivityThread.java:3683)
08-20 10:57:42.098: W/System.err(400):  at java.lang.reflect.Method.invokeNative(Native Method)
08-20 10:57:42.098: W/System.err(400):  at java.lang.reflect.Method.invoke(Method.java:507)
08-20 10:57:42.098: W/System.err(400):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-20 10:57:42.098: W/System.err(400):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-20 10:57:42.098: W/System.err(400):  at dalvik.system.NativeStart.main(Native Method)
08-20 10:57:42.098: W/System.err(400): Caused by: java.lang.NoClassDefFoundError: net.sourceforge.jtds.jdbc.Driver
08-20 10:57:42.107: W/System.err(400):  ... 16 more
08-20 10:57:42.107: W/System.err(400): Caused by: java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver in loader dalvik.system.PathClassLoader[/data/app/com.example.registrationapp-1.apk]
08-20 10:57:42.107: W/System.err(400):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
08-20 10:57:42.107: W/System.err(400):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
08-20 10:57:42.107: W/System.err(400):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511)

请帮帮我。

【问题讨论】:

    标签: android android-intent android-emulator


    【解决方案1】:

    如果您已经添加了 jtds-1.2.5 驱动程序,很好。否则:

    右键单击项目 > 属性 > 库选项卡通过单击“添加外部 JAR”添加 jtds-1.2.5.jar 文件

    接下来,在 Order and Export 选项卡(在 Java Build Path 窗口中的 Libraries 旁边)选中 jtds-1.2.5.jar(以及您可能拥有的任何其他外部 jar)的复选框。

    这将使用 .apk 文件导出包含驱动程序的 .jar。

    【讨论】:

      【解决方案2】:

      如果您使用 ProGuard,那么您的类可能会被它丢弃,因为它仅与反射一起使用。如果你不这样做,Android 仍然可能由于某些原因无法加载类。在安装包的过程中查看 LogCat。

      【讨论】:

      • 什么是 Proguard,我如何确定我的应用中有它??
      【解决方案3】:

      项目右键-属性-java构建路径-排序和导出-勾选Android私有库和你添加的所有库

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-07
        • 1970-01-01
        • 2012-04-29
        • 1970-01-01
        • 2013-05-24
        • 1970-01-01
        相关资源
        最近更新 更多