簡體   English   中英

為什么我得到dbunit noclassdeffounderror數據庫連接?

[英]why am i getting dbunit noclassdeffounderror databaseconnection?

在我的junit測試類的幫助器類中,我創建了一個新的從dbunit到h2databaseconnection的DataBaseconnection:

IDatabaseConnection dBUnitConnection = new DatabaseConnection(h2con);

並嘗試在我的類路徑中使用“ dbunit-2.5.0.jar”運行它,我得到以下錯誤消息:

java.lang.NoClassDefFoundError: Could not initialize class org.dbunit.database.DatabaseConnection

我不知道怎么了。 我使用eclipse編譯並運行它,但是我想從命令行運行junit測試,所以我嘗試

java -cp ".;./../libs/*;./libs/dbunit-2.5.0.jar;" org.junit.runner.junitcore testclass

哪個應該工作...

從類路徑定義中刪除雙引號:

java -cp .;./libs/dbunit-2.5.0.jar org.junit.runner.junitcore testclass

您的類路徑可能不完整,好像您的數據庫驅動程序jar丟失了。 (NoClassDefFoundError也可能由初始化類時的問題引起,例如異常,這與ClassNotFoundException不同)。

根據Eclipse中的Java構建路徑檢查類路徑。

編輯:

移動了我的評論,指出了答案的真正原因:

查看org.dbunit.database.DatabaseConnection的源org.dbunit.database.DatabaseConnection ,它也可能是缺少的slf4j jar。 dbunit使用slf4j進行日志記錄,並在初始化DatabaseConnection時嘗試初始化slf4j類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM