2014-10-02 230 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