web-dev-qa-db-fra.com

Comment utiliser le pilote JDBC Oracle dans le projet Gradle

Je suis nouveau avec les projets Gradle et j'ai une question. J'ai fait une recherche sur Internet mais je ne trouvais pas ce dont j'avais besoin ou peut-être que je ne savais pas comment le rechercher ..___ D'abord, je vais vous raconter mon cas. J'ai un projet Gradle et j'aimerais exécuter plusieurs tests automatisés, à l'avenir avec jenkins, mais je souhaite maintenant essayer Eclipse . J'ai le pilote Oracle jdbc dans le répertoire/lib, et voici ma version. graduer

    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'
}

J'aimerais utiliser ce pilote jdbc dans une classe mais je ne sais pas comment l'utiliser. Lorsque j'ai essayé avec Maven, j'ai utilisé cette méthode "import Oracle.jdbc.driver.OracleDriver;" mais je suppose que ce n'est pas valable pour le projet Gradle . Pouvez-vous m'aider, s'il vous plaît? Merci d'avance

13
javitxu

Vous pouvez simplement ajouter un bocal comme dépendance, comme ceci:

compile files('libs/ojdbc7.jar')

Et il n'est pas nécessaire d'ajouter un référentiel flatDir dans ce cas. Lisez à ce sujet dans le guide de l'utilisateur officiel

15
Stanislav

Vous pouvez essayer de réutiliser votre référentiel Maven local pour Gradle:

  • Téléchargez ojdbc7.jar depuis le site Oracle
  • Installez le fichier jar dans votre référentiel Maven local:

    mvn install:install-file -Dfile=ojdbc7.jar -DgroupId=com.Oracle -DartifactId=ojdbc7 -Dversion=12.1.0.1 -Dpackaging=jar
    
  • Vérifiez que le fichier jar est installé dans votre référentiel Maven ~/.m2/ local 

  • Activez votre référentiel Maven local dans votre fichier build.gradle:

    repositories {  
        mavenCentral()  
        mavenLocal()  
    }  
    
    dependencies {  
        compile ("com.Oracle:ojdbc7:12.1.0.1")  
    }  
    
  • Vous devez maintenant activer le fichier jar pour la compilation dans votre projet.

19
Daniel Mora

En plus de la réponse correcte, je souhaite partager mon expérience de la façon dont je résous un problème de dépendance à ojdbs (Gradle utilisé et Intellij Idea).

  1. Allez sur le site Oracle et téléchargez le (s) fichier (s) jdbs. J'ai choisi de télécharger l'archive complète - ojdbc8-full.tar.gz
  2. Décompressez l'archive dans un répertoire (par exemple, c:\folder\OJDBC8-Full)
  3. Dans Intellij Idea, accédez à Structure/Bibliothèques de projets, appuyez sur le symbole "+" et spécifiez un chemin d'accès au dossier contenant l'archive décompressée (OJDBC8-Full). Spécifiez le nom:

 enter image description here

  1. Dans build.gradle, ajoutez:

dépendances {

...

compiler des fichiers ('libs/OJDBC8-Full') // OJDBC8-Full - il s'agit du nom que vous spécifiez pour librare

...

}

2
Maksim Ryabovol

Comme les authentifications basées sur SSO ne sont pas disponibles par défaut: 

Actuellement, vous avez 3 alternatives:

(+1 use maven)

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

0
BTakacs

autres que mavenCentral, utilisez également le référentiel maven local pour nos dépendances. La raison de l’utilisation du référentiel maven local est que le pilote jdbc d’Oracle n’est pas accessible publiquement. Nous devrons télécharger le pilote à partir d’Oracle et l’installer dans notre dépôt Maven local.

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"

Site Oracle pour pilote:

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

Site Maven:

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

0
aravind s