在我的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

哪个应该工作...

最佳答案

您的类路径可能不完整,好像您的数据库驱动程序jar丢失了。
(NoClassDefFoundError也可能由初始化类时的问题引起,例如异常,这与ClassNotFoundException不同)。

根据Eclipse中的Java构建路径检查类路径。

编辑:

移动了我的评论,指出了答案的真正原因:

查看org.dbunit.database.DatabaseConnection的来源,也可能是缺少的slf4j jar。 dbunit使用slf4j进行日志记录,并在初始化DatabaseConnection时尝试初始化slf4j类。

关于java - 为什么我得到dbunit noclassdeffounderror数据库连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27143828/

10-10 03:44