Отказ от повторной инициализации ранее неудачного класса java.lang.Class <com.mysql.cj.MysqlType> - PullRequest
0 голосов
/ 04 апреля 2019

Я создаю мобильное приложение и пытаюсь подключить его к базе данных MySql, размещенной на моем локальном хосте.В основном пользователь заполняет некоторую информацию и отправляет заявку.Билет должен быть вставлен в базу данных, но вместо этого я получаю сообщение об ошибке.Приложение продолжает работать (поэтому оно не приводит к сбою приложения), но запрос никогда не запускается.

Я попытался очистить и восстановить проект Android Studio.Я также пытался аннулировать кэш и перезапустить.Я попытался добавить некоторый код в мой файл app.build, но он тоже не работал.

Используемый код:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            // Skip multidex because it follows a different versioning pattern.
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.3.0'
            }
        }
    }
}

Это мое сообщение об ошибке:

Rejecting re-init on previously-failed class java.lang.Class<com.mysql.cj.MysqlType>: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/sql/SQLType;
        at com.mysql.cj.jdbc.DatabaseMetaData com.mysql.cj.jdbc.DatabaseMetaData.getInstance(com.mysql.cj.jdbc.JdbcConnection, java.lang.String, boolean, com.mysql.cj.jdbc.result.ResultSetFactory) (DatabaseMetaData.java:729)
        at java.sql.DatabaseMetaData com.mysql.cj.jdbc.ConnectionImpl.getMetaData(boolean, boolean) (ConnectionImpl.java:1175)
        at void com.mysql.cj.jdbc.ConnectionImpl.<init>(com.mysql.cj.conf.HostInfo) (ConnectionImpl.java:447)
        at com.mysql.cj.jdbc.JdbcConnection com.mysql.cj.jdbc.ConnectionImpl.getInstance(com.mysql.cj.conf.HostInfo) (ConnectionImpl.java:240)
        at java.sql.Connection com.mysql.cj.jdbc.NonRegisteringDriver.connect(java.lang.String, java.util.Properties) (NonRegisteringDriver.java:207)
        at java.sql.Connection java.sql.DriverManager.getConnection(java.lang.String, java.util.Properties, java.lang.ClassLoader) (DriverManager.java:569)
        at java.sql.Connection java.sql.DriverManager.getConnection(java.lang.String, java.lang.String, java.lang.String) (DriverManager.java:219)
        at void com.example.vanda.agrivolution.MySqlUsage.submitTicket(java.lang.String[]) (MySqlUsage.java:17)
        at void com.example.vanda.agrivolution.SubmitIssue.addToList() (SubmitIssue.java:130)
        at void com.example.vanda.agrivolution.SubmitIssue.access$100(com.example.vanda.agrivolution.SubmitIssue) (SubmitIssue.java:19)
        at void com.example.vanda.agrivolution.SubmitIssue$2.onClick(android.view.View) (SubmitIssue.java:73)
        at boolean android.view.View.performClick() (View.java:6597)
        at boolean android.view.View.performClickInternal() (View.java:6574)
        at boolean android.view.View.access$3100(android.view.View) (View.java:778)
        at void android.view.View$PerformClick.run() (View.java:25885)
        at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:873)
        at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:99)
        at void android.os.Looper.loop() (Looper.java:193)
        at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6669)
        at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:493)
        at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:858)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "java.sql.SQLType" on path: DexPathList[[zip file "/data/app/com.example.vanda.agrivolution-Rtbi1zkpK7mJXfDWkDIjHg==/base.apk", zip file "/data/app/com.example.vanda.agrivolution-Rtbi1zkpK7mJXfDWkDIjHg==/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.vanda.agrivolution-Rtbi1zkpK7mJXfDWkDIjHg==/split_lib_resources_apk.apk", zip file "/data/app/com.example.vanda.agrivolution-Rtbi1zkpK7mJXfDWkDIjHg==/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.vanda.agrivolution-Rtbi1zkpK7mJXfDWkDIjHg==/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.vanda.agrivolution-Rtbi1zkpK7mJXfDWkDIjHg==/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.vanda.agrivolution-Rtbi1zkpK7mJXfDWkDIjHg==/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.vanda.agrivolution-Rtbi1zkpK7mJXfDWkDIjHg==/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.vanda.agrivolution-Rtbi1zkpK7mJXfDWkDIjHg==/split_lib_slice_5_apk
        at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:134)
        at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
        at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
        at com.mysql.cj.jdbc.DatabaseMetaData com.mysql.cj.jdbc.DatabaseMetaData.getInstance(com.mysql.cj.jdbc.JdbcConnection, java.lang.String, boolean, com.mysql.cj.jdbc.result.ResultSetFactory) (DatabaseMetaData.java:729)
        at java.sql.DatabaseMetaData com.mysql.cj.jdbc.ConnectionImpl.getMetaData(boolean, boolean) (ConnectionImpl.java:1175)
        at void com.mysql.cj.jdbc.ConnectionImpl.<init>(com.mysql.cj.conf.HostInfo) (ConnectionImpl.java:447)
        at com.mysql.cj.jdbc.JdbcConnection com.mysql.cj.jdbc.ConnectionImpl.getInstance(com.mysql.cj.conf.HostInfo) (ConnectionImpl.java:240)
        at java.sql.Connection com.mysql.cj.jdbc.NonRegisteringDriver.connect(java.lang.String, java.util.Properties) (NonRegisteringDriver.java:207)
        at java.sql.Connection java.sql.DriverManager.getConnection(java.lang.String, java.util.Properties, java.lang.ClassLoader) (DriverManager.java:569)
        at java.sql.Connection java.sql.DriverManager.getConnection(java.lang.String, java.lang.String, java.lang.String) (DriverManager.java:219)
        at void com.example.vanda.agrivolution.MySqlUsage.submitTicket(java.lang.String[]) (MySqlUsage.java:17)
        at void com.example.vanda.agrivolution.SubmitIssue.addToList() (SubmitIssue.java:130)
        at void com.example.vanda.agrivolution.SubmitIssue.access$100(com.example.vanda.agrivolution.SubmitIssue) (SubmitIssue.java:19)
        at void com.example.vanda.agrivolution.SubmitIssue$2.onClick(android.view.View) (SubmitIssue.java:73)
        at boolean android.view.View.performClick() (View.java:6597)
        at boolean android.view.View.performClickInternal() (View.java:6574)
        at boolean android.view.View.access$3100(android.view.View) (View.java:778)
        at void android.view.View$PerformClick.run() (View.java:25885)
        at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:873)
        at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:99)
        at void android.os.Looper.loop() (Looper.java:193)
        at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6669)
        at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:493)
        at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:858)

Я также добавил драйвер mysql в мою структуру проекта в Android Studio.Вы можете увидеть это в нижней части окна на рисунке ниже.
ProjectStructure

Я ожидал, что он будет загружен в базу данных, и еслиЯ запустил оператор select all, я смог бы увидеть его в базе данных, но вместо этого все, что у меня есть, это пустая база данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...