Как использовать драйвер JDBC Oracle в проекте Gradle

Я новичок в проектах Gradle, и у меня есть один вопрос. Я искал в Интернете, но я не мог найти то, что мне нужно, или, может быть, я не знал, как его искать. Сначала я расскажу вам свое дело. У меня есть проект Gradle, и я хотел бы выполнить несколько автоматических тестов, в будущем с jenkins, но теперь я хочу попробовать Eclipse. У меня есть драйвер oracle jdbc в каталоге /lib, и это мой build.gradle

    apply plugin: 'java'

// In this section you declare where to find the dependencies of your project
repositories {
    jcenter()
    //mavenCentral()
}

// In this section you declare the dependencies for your production and test code
dependencies {
    compile 'org.slf4j:slf4j-api:1.7.21'
    compile 'org.seleniumhq.selenium:selenium-java:2.+'
    compile 'org.testng:testng:6.+'
    //compile 'com.oracle:ojdbc14:10.2.0.4.0'
    //testCompile 'net.sourceforge.jexcelapi:jxl:2.6.12'
    testCompile 'info.cukes:cucumber-core:1.+'
    testCompile 'info.cukes:cucumber-java:1.+'
    testCompile 'info.cukes:cucumber-junit:1.+'
    testCompile 'junit:junit:4.12'
}

repositories {
  flatDir(dir: 'libs')//, name: 'Local libs'
}

dependencies {
  compile name: 'ojdbc7'
}

Я хотел бы использовать этот драйвер jdbc в одном классе, но я не знаю, как его использовать. Когда я пытался с Maven, я использовал этот способ "import oracle.jdbc.driver.OracleDriver;" но я думаю, что это недопустимо для проекта Gradle. Не могли бы вы мне помочь? Спасибо заранее

Ответ 1

Вы можете просто добавить банку как зависимость, например:

compile files('libs/ojdbc7.jar')

И нет необходимости добавлять репозиторий flatDir в этом случае. Прочтите об этом в официальном руководстве

Ответ 2

Вы можете попробовать повторно использовать локальный репозиторий Maven для Gradle:

  • Загрузите ojdbc7.jar с сайта Oracle
  • Установите банку в локальный репозиторий Maven:

    mvn install:install-file -Dfile=ojdbc7.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.1 -Dpackaging=jar
    
  • Убедитесь, что у вас установлена ​​банка в локальном репозитории ~/.m2/

  • Включите локальный репозиторий Maven в файле build.gradle:

    repositories {  
        mavenCentral()  
        mavenLocal()  
    }  
    
    dependencies {  
        compile ("com.oracle:ojdbc7:12.1.0.1")  
    }  
    
  • Теперь вам нужно включить банку для компиляции в вашем проекте

Ответ 3

В дополнение к правильному ответу я хочу поделиться своим опытом решения проблемы с зависимостью ojdbs (используется gradle и Intellij Idea).

  1. Перейдите на сайт оракула и загрузите файлы jdbs. Я решил скачать полный архив - ojdbc8-full.tar.gz
  2. Распакуйте архив в чей-то каталог (например, c:\folder\OJDBC8-Full)
  3. В Intellij Idea зайдите в Структура проекта/Библиотеки, нажмите символ "+" и укажите путь к папке, в которую распакован архив (OJDBC8-Full). Укажите имя:

enter image description here

  1. В build.gradle добавьте:

зависимости {

...

файлы компиляции ('libs/OJDBC8-Full')//OJDBC8-Full - это имя, которое вы указываете для librare

...

}

Ответ 4

Поскольку аутентификации на основе SSO недоступны в gradle:

В настоящее время у вас есть 3 варианта:

  • загрузите вручную и скопируйте файл (см. выше)
  • использовать прокси для аутентификации (и зарегистрировать учетную запись для oracle maven repo)
  • если у вас есть внутренний репозиторий: вы можете использовать свое репо для прокси/кеширования oracle one (например: настройки Nexus Oracle: https://support.sonatype.com/hc/en-us/articles/213465728-How-to-configure-a-proxy-repository-to-maven-oracle-com)

(+ 1 использовать maven)

см. https://discuss.gradle.org/t/support-for-maven-repositories-that-use-realm-based-sso/14456

Ответ 5

кроме mavenCentral использовать локальный репозиторий maven для наших зависимостей. Причина использования локального репозитория maven заключается в том, что драйвер jdbc от Oracle не является общедоступным. Нам нужно будет скачать драйвер из Oracle и установить его в нашем локальном репозитории Maven.

repositories {
    mavenLocal()
}

dependencies {
    compile ("com.oracle:ojdbc6:12.2.0.1")
}

mvn install:install-file -Dfile="\ojdbc6.jar" -DgroupId="com.oracle" -DartifactId="ojdbc6" -Dversion="12.2.0.1" -Dpackaging="jar" -DgeneratePom="true"

Сайт Oracle для водителя:

https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

Maven сайт:

https://maven.apache.org/download.cgi