在应用程序中找到oracle.jdbc.OracleDriver,而不是在Test中

时间:2011-04-06 15:43:49

标签: java jdbc classnotfoundexception

当我在应用程序中连接到OracleDriver时,一切都很好。但是当我想连接以运行JUnit测试时,我得到了一个ClassNotFoundException。而且我做的完全一样!

我已将ojbc添加到库和testlibrary中。

    public JDBCDataStorage(boolean production) throws DataStorageException {
    this.production = production;
    try {
        rb = (PropertyResourceBundle) PropertyResourceBundle.getBundle("app.control.database.JDBCconfig");

            Class.forName(rb.getString("driver"));




    } catch (ClassNotFoundException e) {
        throw new DataStorageException("Something went wrong in new JDBCDataStorage()" + ": " + e.getMessage());
    }

    DriverManager.setLoginTimeout(3);
}

2 个答案:

答案 0 :(得分:0)

检查两件事

  1. rb.getString("driver")实际上返回了您的驱动程序的FQCN。
  2. 驱动程序JAR位于测试应用程序的类路径中

答案 1 :(得分:0)

尝试将Oracle JDBC驱动程序jar文件添加到JUnit测试的类路径中。如果您在Eclipse中运行单元测试,请将驱动程序jar文件添加到JUnit测试的运行配置中的用户条目。