java.lang.NoClassDefFoundError:Could not initialize class........

JDBC工具类的抽取方式有三种,其中在通过properties配置文件的方式时,将"db.properties"和“TestUtils.java”放在同一目录下,运行时产生了NoClassDefFoundError错误。

调试步骤:将"db.properties"文件放在src目录下,即和各个包在同一层。运行成功!!(这里可以参考http://blog.csdn.net/jamesjxin/article/details/46606307关于NoClassDefFoundError和ClassNotFoundError错误的区别)

这里要注意在第三种方式中通过加载properties获得流,再使用properties对象进行处理。其中对于Class.getReource和ClassLoader.getResource()的区别(参考https://www.cnblogs.com/yejg1212/p/3270152.html)

Class.getResource()(String path):path不以“/”开头时,可以得到与当前使用类相同路径的文件:以“/”开头则是在根目录下获取(Eclipse中的bin目录下)

ClassLoader.getResource(String path):Class.getResource("/")==Class.getResource("");是一样的结果。

你可能感兴趣的:(java)