Tomcat插件启动时报错。Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.mysql.jdbc.Driver]。
这个很明显时告诉你加载不到这个类com.mysql.jdbc.Driver,通常来说是缺少mysql-connector-java.jar。因为这个类就是这个jar中的。
但是我这边的原因是,我原来mysql是5.1.32版本的,后来本地安装了8.0.18版本的mysql服务,所以相应的我的pom.xml中也要改为8.0.18版本的。改完这个我启动tomcat就报错了,发现maven依赖没有问题啊,生成了mysql-connector-java-8.0.18.jar。
然后我又写了一个test类来测试我的spring能不能正常加载beans,发现能正常加载。
package com.bearaop.controller;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("spring-context.xml");
String[] name = ac.getBeanDefinitionNames();
for (String string : name) {
System.out.println(string);
}
}
}
根据上面的测试,我想是不是只有tomcat插件启动时没有加载到,所以tomcat启动时加载jar的问题。所以我去看项目的tomcat启动配置。
项目右击——》Properties——》Tomcat——》DevLoader Classpath
发现确实最新版的mysql-connector-java-8.0.18.jar确实没有被勾选,勾选上applay后再启动就正常了。