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