2014-10-02 231 views
-1

建立sql-connection我正在使用PostgreSQL 9.3。 PostgreSQL驱动程序是postgresql-8.3-603.jdbc4.jar从jUnit测试

我需要编写jUnit测试,它建立了sql-connection和聚合数据库中的数据。下面@Test方法我已经写了:

@Test 
public void todayStatisticTest() throws ClassNotFoundException, SQLException { 
    Connection conn = null; 
    Properties connectionProps = new Properties(); 
    connectionProps.put("user", "postgres"); 
    connectionProps.put("password", "password"); 
    Class.forName("org.postgresql.Driver"); //ClassNotFound exception is thrown 
    conn = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/db_name", connectionProps); 
    Statement stmt = conn.createStatement(); 
    ResultSet rs = stmt.executeQuery("SELECT * FROM partner.partner"); 
} 

为什么ClassNotFoundExpcetion抛出?

+1

你能提供完整的错误描述吗? – Juru 2014-10-02 07:54:44

+0

你真的添加了org.postgresql.Driver吗? – 2014-10-02 07:57:55

+2

注意查看[documentation](http://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html)?另外,这个问题缺乏一些信息:你如何运行你的测试?你如何确保包含驱动程序的JAR文件是类路径的一部分?在不知情的情况下难以帮助。 – Seelenvirtuose 2014-10-02 07:59:28

回答

2

开始junit测试时,您可能没有在类路径中提供所有必需的jar。您需要确保在运行测试期间postgresql驱动程序jar也位于类路径中。取决于您使用的IDE,或者如果您在命令行上运行它,则必须将其添加到-cp参数(这实际上是IDE将为您执行的操作)。

+0

呵呵,你说得对。我已经将它添加到类路径并且它可以工作。谢谢你。 – 2014-10-02 08:02:25