2016-10-18 38 views
0

私はデータベース接続を設定する小さなjarディストリビューションを作成しました。DB2Driverとjarの依存関係が見つかりません

java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver 

のGradleのdependecieツリー: 問題は、私は私が手Gradleの依存関係として追加したときにということである

--- prokasdb-connector:prokasDBConnection:2.0 
    +--- commons-collections:commons-collections:3.2.1 
    +--- commons-dbcp:commons-dbcp:1.4 
    | \--- commons-pool:commons-pool:1.5.4 
    +--- commons-pool:commons-pool:1.5.4 
    +--- log4j:log4j:1.2.17 
    +--- prokasdb-connector-dependencies:db2jcc:0.1 
    +--- prokasdb-connector-dependencies:db2jcc4:0.1 
    +--- prokasdb-connector-dependencies:db2jcc_license_cu:0.1 
    \--- prokasdb-connector-dependencies:db2small:0.1 

別の発言は、私がEclipseのメニューからビルド・パスに行くとき、私は気づいていることです残りの部分は自動的に追加されます。 DB2コネクターは、Javaはそれが

+0

からgradle findClassを実行して見つけることができない理由がある、最後の4瓶の中に含まれていますか?テストケースから?またはあなたのgradleスクリプトから?どの設定でドライバを追加していますか? –

+0

私は、Javaプログラム内から接続しようとしています。 prokasdb-connector:prokasDBConnection:2.0は、db接続用のラッパーです。 – user2960896

+0

どのようにJavaプログラムを実行していますか?私はあなたが実行しているように、クラスパス上にないドライバを推測しています –

答えて

0

あなたbuild.gradleにこれを追加して接続しようとしているコマンドライン

task findClass { 
    doLast { 
     def foundJars = [] as Set 
     configurations.runtime.files.each { jar -> 
      zipTree(jar).visit { FileVisitDetails fvd -> 
       def path = fvd.relativePath.pathString.replace('\\', '/') 
       if (path == 'com/ibm/db2/jcc/DB2Driver.class') { 
        foundJars << jar 
       } 
      } 
     } 
     println "Found driver in ${foundJars}" 
    } 
} 
関連する問題