为什么maven编译时不需要jdbc的驱动包?

497 阅读1分钟

因为jdbc在加载的时候,使用了类的反射,如class.forName("com.mysql.jdbc.Driver"),这样,在编译时,并不去加载驱动,而是在运行期间以反射的方式来检查JDBC驱动的主类com.mysql.jdbc.Driver是否存在。 因此jdbc的驱动在pom文件中,常用的scope为runtime,表示在编译期间不需要参与,测试和运行期间再参与。