2012-04-19 127 views
0

我正在使用Java和eclipse。 我下載了postgresql-9.1-901.jdbc4.jar並添加了它。 (屬性 - > Java構建路徑 - >庫 - >添加外部JAR ...org.postgresql。*;類未找到錯誤

我的數據庫連接正常工作我可以創建表,執行查詢等 現在我想使用CopyManager。我的代碼:

import org.postgresql.copy.CopyManager; 
... 
CopyManager cManager = new CopyManager(XXX); 

不幸的是我得到一個錯誤消息說:「源附件不包含該文件CopyManager.class源」

Exception in thread "main" java.lang.NullPointerException 
at org.postgresql.copy.CopyManager.<init>(CopyManager.java:46) 
at Table.insert_data_in_tb(Table.java:73) 
at DB.main(DB.java:69) 

我會爲任何非常心存感激。幫助...

+0

「源附件不包含文件CopyManager.class的源代碼」似乎對我來說沒有任何運行時錯誤。您可能在CopyManager或其方法上單擊了F3。此外,你看到的錯誤是因爲你可能將NULL傳遞給init? – 2012-04-19 18:08:27

回答

1

這是在調試模式下運行代碼並單擊方法時得到的消息。要糾正當前的問題(能夠查看源代碼)做到這一點:

  • 下載PostgreSQL 9.1 source code
  • 將文件複製到一些合適的文件夾,然後解壓

    tar xvf postgresql-jdbc-9.1-901.src.tar.gz

  • 添加在Eclipse (Run-> Debug Configurations-> select Java Application-> Click Source tab-> Add-> File System Directory-> add)中的調試配置源文件夾,其中直接ory是 ,你也在那裏擴展了tarball。

但是,您確實不需要查看源代碼以確定程序中發生什麼問題。 CopyManager的文檔可在online Javadocs獲得。該對象的構造函數需要一個有效的連接,我猜你的程序中爲null。