[英]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.