找不到jar依赖项的DB2Driver

时间:2016-10-18 08:43:09

标签: java gradle db2

我创建了一个小jar分发版,为我设置数据库连接。 问题是,当我将它作为gradle依赖项添加时,我得到:

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

Gradle dependecie tree:

--- 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连接器包含在最后4个jar中,这就是java无法找到它的原因

1 个答案:

答案 0 :(得分:0)

将此添加到您的build.gradle并从命令行运行gradle findClass

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