“java.lang.ClassNotFoundException:oracle.jdbc.pooling.Factory”

时间:2014-09-10 14:51:00

标签: java oracle ucp

我遇到ucp.jar

的某些问题

如果我使用ucp.jar用于oracle 12.1.0.1,它可以正常工作。

如果我使用的是oracle 12.1.0.2的版本,那么我会得到以下异常:

java.lang.ClassNotFoundException: oracle.jdbc.pooling.Factory

有没有人可以帮助我?

谢谢,Mauro

4 个答案:

答案 0 :(得分:2)

Jdbc(ojdbc7.jar)和UCP(ucp.jar)jar必须始终来自同一版本(12.1.0.2)。如果不升级另一个,则无法升级。此版本依赖性在12c中引入。事情并非如此。

答案 1 :(得分:0)

有一个ojdbc7.jar / ojdbc6.jar文件依赖项。您需要下载/更新,具体取决于您使用的Java版本。

答案 2 :(得分:0)

添加以下maven依赖项解决了我的问题

                <dependency>
                    <groupId>com.oracle.jdbc</groupId>
                    <artifactId>ojdbc7</artifactId>
                    <version>12.1.0.2</version>
                </dependency>
                <dependency>
                    <groupId>com.oracle.jdbc</groupId>
                    <artifactId>ucp</artifactId>
                    <version>12.1.0.2</version>
                </dependency>

答案 3 :(得分:0)

(1)注册(或拥有现有的Oracle.com帐户)

(2)转到http://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html

下载ojdbc8.jarudp.jar添加到classpath。

(3)如果您使用构建工具(Maven或Gralde),请转到文件目录ojdbc8.jarupd.jar

mvn install:install-file -Dfile=udp.jar -DgroupId=com.oracle -DartifactId=udp -Dversion=12.1.0.1 -Dpackaging=jar
mvn install:install-file -Dfile=ojdbc8.jar -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.1.0.1 -Dpackaging=jar

(4)如果您使用Gradle,则必须在build.gradle中声明使用MavenLocal。实施例

plugins {
    id 'java'
}

group 'com.donhuvy'
version '1.0-SNAPSHOT'

sourceCompatibility = 10

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {
    compile('com.oracle:ojdbc8:12.1.0.1')
    compile('com.oracle:ucp:12.1.0.1')
    testCompile group: 'junit', name: 'junit', version: '4.12'
}