今天做测试的两次遇到这个错,特此记录一下,以免再犯。
发生这个问题的原因是因为我自己的疏忽,做代码自动生成测试时,忘在pom文件中加mysql驱动相关的依赖,导致没有对应的jar包报错
网上搜寻了有关这个异常的内容
关于这个异常的说明如下
无法找到指定的类异常。
当应用程序试图使用以下方法通过字符串名加载类时,抛出该异常:
** Class 类中的 forName 方法。
ClassLoader 类中的 findSystemClass 方法。
ClassLoader 类中的 loadClass 方法。**
但是没有找到具有指定名称的类的定义。
总的来说有以下几个原因
1 所需要的支持类库放错了地方,并没有放在类路径(CLASSPATH环境变量)里面。
2 使用了重复的类库,且版本不一致。导致低版本的被优先使用。
3 类名错了,一般是使用Class.forName的时候,手工指定了类名的情况。
4 没有导入纯JAVA驱动包。
解决方案如下
1 确认你的类库在系统的CLASSPATH下面,如果是Tomcat,则可以放在tomcat/lib/目录下面。
2 删除重复的类库,只保留最新的。
3 尽可能不使用这种编译器无法为你检查的方式。
在实际编码中还是要看自己的实际情况分析,这里只能给出一个大致的思路,很多时候细心一点,其实就能避免很多错误。