Phoenix - не найден подходящий драйвер jdbc: phoenix: localhost после переключения проекта с Maven на Gradle

Я изменил свой проект весенней загрузки с Maven на Gradle. С Maven все работает хорошо, но если я переключаю проект на Gradle, возникают интересные ошибки.

Полная ошибка:

Caused by: java.sql.SQLException: No suitable driver found for jdbc:phoenix:localhost
    at java.sql.DriverManager.getConnection(DriverManager.java:689) ~[na:1.8.0_121]
    at java.sql.DriverManager.getConnection(DriverManager.java:270) ~[na:1.8.0_121]
    at ba.autisform.resource.dao.AdminDAO.saveUser(AdminDAO.java:44) ~[classes/:na]
    at ba.autisform.resource.dao.AdminDAO.checkUser(AdminDAO.java:34) ~[classes/:na]
    ... 70 common frames omitted

Зависимости Gradle Hadoop и Phoenix:

compile group: 'org.springframework.data', name: 'spring-data-hadoop', version:'2.5.0.RELEASE'
    compile(group: 'org.apache.phoenix', name: 'phoenix-core', version:'4.10.0-HBase-1.1') {
        exclude(module: 'slf4j-log4j12')
        exclude(module: 'log4j')
        exclude(module: 'servlet-api')
        exclude(module: 'servlet-api-2.5')
        exclude(module: '*')
    }

Сбой приложения из-за нескольких журналов, поэтому я исключил slf4j-log4j12 и log4j из зависимости от Phoenix.

Сбой приложения из-за поля java.lang.NoSuchFieldError: IS_SECURITY_ENABLED, которое было создано org.apache.jasper.compiler.JspRuntimeContext, поэтому я исключил servlet-api, servlet-api-2.5 и *.

Зависимости Maven:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-hadoop</artifactId>
    <version>2.5.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.apache.phoenix</groupId>
    <artifactId>phoenix-core</artifactId>
    <version>4.10.0-HBase-1.2</version>
</dependency>

В чем причина того, что после переключения проекта на Gradle возникают странные ошибки?

Вы разместили только небольшую часть build.gradle и pom.xml. Вам нужно сравнить вывод mvn dependency:tree с тем, что является эквивалентом Gradle, чтобы выяснить, каковы зависимости во время выполнения. Также вы должны проверить, как вы запускаете приложение, возможно, параметры пути к классам не были перенесены из Gradle.

Karol Dowbecki 21.08.2018 10:29
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
630
0

Другие вопросы по теме