web-dev-qa-db-ja.com

GradleプロジェクトでOracle JDBCドライバーを使用する方法

私はGradleプロジェクトに慣れていないので、質問が1つあります。インターネットで検索しましたが、必要なものが見つからなかったか、検索方法がわかりませんでした。最初に、私のケースを説明します。私はGradleプロジェクトを持っており、将来はjenkinsを使用していくつかの自動テストを実行したいのですが、今はEclipseで試してみたいと思います。/libディレクトリにOracle jdbcドライバーがあり、これが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ドライバーを1つのクラスで使用したいのですが、使用方法がわかりません。 Mavenで試してみたとき、「import Oracle.jdbc.driver.OracleDriver;」という方法で使用しました。しかし、これはGradleプロジェクトには有効ではないと思います。助けてくれませんか?前もって感謝します

15
javitxu

次のように、jarを依存関係として単純に追加できます。

compile files('libs/ojdbc7.jar')

その場合、flatDirリポジトリを追加する必要はありません。 公式ユーザーガイド でそれを読んでください

19
Stanislav

GradleのローカルMavenリポジトリを再利用してみてください:

  • Oracleサイトからojdbc7.jarをダウンロードします
  • JarをローカルのMavenリポジトリにインストールします。

    mvn install:install-file -Dfile=ojdbc7.jar -DgroupId=com.Oracle -DartifactId=ojdbc7 -Dversion=12.1.0.1 -Dpackaging=jar
    
  • Jarが~/.m2/ローカルMavenリポジトリにインストールされていることを確認します

  • build.gradleファイルでローカルMavenリポジトリを有効にします。

    repositories {  
        mavenCentral()  
        mavenLocal()  
    }  
    
    dependencies {  
        compile ("com.Oracle:ojdbc7:12.1.0.1")  
    }  
    
  • これで、プロジェクトでコンパイル用にjarを有効にする必要があります

21
Daniel Mora

正解に加えて、ojdbs依存関係(gradleとIntellij Ideaを使用)の問題をどのように解決したか、私の経験を共有したいと思います。

  1. Oracleサイト に移動し、jdbsファイルをダウンロードします。完全なアーカイブ-ojdbc8-full.tar.gzをダウンロードすることにしました
  2. 誰かのディレクトリにアーカイブを解凍します(たとえば、c:\ folder\OJDBC8-Full)
  3. Intellij Ideaでプロジェクト構造/ライブラリに移動し、「+」記号を押して、解凍されたアーカイブ(OJDBC8-Full)のフォルダーへのパスを指定します。名前を指定:

enter image description here

  1. Build.gradleに以下を追加します。

依存関係{

...

compile files( 'libs/OJDBC8-Full')// OJDBC8-Full-librareに指定する名前

...

}

3
Maksim Ryabovol

SSOベースの認証はgradleでは利用できないため:

現在、3つの選択肢があります。

(+1 Mavenを使用)

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

2
BTakacs

mavenCentral以外は、依存関係にもローカルのmavenリポジトリを使用します。ローカルのMavenリポジトリを使用する理由は、Oracleのjdbcドライバーが公的にアクセスできないためです。 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

0
aravind s