java – 无法加载JDBC驱动程序类[com.mysql.jdbc.Driver]

前端之家收集整理的这篇文章主要介绍了java – 无法加载JDBC驱动程序类[com.mysql.jdbc.Driver]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

所以,这是我的项目结构:

enter image description here

在cat-application里面,我有CatsDAO类,我正在尝试@Autowire DataSource对象:

  1. import javax.sql.DataSource;
  2. @Repository
  3. public class CatsDAO {
  4. @Autowired
  5. private DataSource dataSource;
  6. public Cat getCat(String name) {
  7. String sql = "SELECT * FROM cats WHERE name = ?";
  8. Connection conn = null;
  9. try {
  10. ...
  11. } catch (sqlException e) {
  12. throw new RuntimeException(e);
  13. } finally {
  14. ...
  15. }
  16. }
  17. }

这是我在cats-webapp中的applicationContext.xml:

  1. MysqL.jdbc.Driver"/>
  2. MysqL://localhost:3306/cats"/>

这是我的cat-application pom.xml文件

  1. MysqLMysqL-connector-java

还有我的cats-webapp pom.xml文件

但是当我尝试在服务器上运行它时,我得到了这个异常:

  1. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'catsDAO': Injection of autowired dependencies Failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private javax.sql.DataSource ninja.majewski.cats.CatsDAO.dataSource; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
  2. PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.MysqL.jdbc.Driver]
  3. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
  4. at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.populateBean(AbstractAutowireCapablebeanfactory.java:1214)
  5. at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.doCreateBean(AbstractAutowireCapablebeanfactory.java:543)
  6. at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.createBean(AbstractAutowireCapablebeanfactory.java:482)
  7. at org.springframework.beans.factory.support.Abstractbeanfactory$1.getObject(Abstractbeanfactory.java:306)
  8. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
  9. at org.springframework.beans.factory.support.Abstractbeanfactory.doGetBean(Abstractbeanfactory.java:302)
  10. at org.springframework.beans.factory.support.Abstractbeanfactory.getBean(Abstractbeanfactory.java:197)
  11. at org.springframework.beans.factory.support.DefaultListablebeanfactory.preInstantiateSingletons(DefaultListablebeanfactory.java:772)
  12. at org.springframework.context.support.AbstractApplicationContext.finishbeanfactoryInitialization(AbstractApplicationContext.java:839)
  13. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
  14. at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444)
  15. at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326)
  16. at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
  17. at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)
  18. at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)
  19. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  20. at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
  21. at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
  22. at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
  23. at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1762)
  24. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  25. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  26. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  27. at java.lang.reflect.Method.invoke(Method.java:497)
  28. at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
  29. at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
  30. at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
  31. at org.apache.catalina.mbeans.Mbeanfactory.createStandardContext(Mbeanfactory.java:618)
  32. at org.apache.catalina.mbeans.Mbeanfactory.createStandardContext(Mbeanfactory.java:565)
  33. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  34. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  35. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  36. at java.lang.reflect.Method.invoke(Method.java:497)
  37. at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
  38. at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
  39. at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
  40. at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
  41. at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
  42. at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
  43. at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
  44. at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
  45. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  46. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  47. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  48. at java.lang.reflect.Method.invoke(Method.java:497)
  49. at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
  50. at sun.rmi.transport.Transport$1.run(Transport.java:200)
  51. at sun.rmi.transport.Transport$1.run(Transport.java:197)
  52. at java.security.AccessController.doPrivileged(Native Method)
  53. at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
  54. at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
  55. at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
  56. at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$256(TCPTransport.java:683)
  57. at java.security.AccessController.doPrivileged(Native Method)
  58. at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
  59. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  60. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  61. at java.lang.Thread.run(Thread.java:745)
  62. Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private javax.sql.DataSource ninja.majewski.cats.CatsDAO.dataSource; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
  63. PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.MysqL.jdbc.Driver]
  64. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573)
  65. at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
  66. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
  67. ... 58 more
  68. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
  69. PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.MysqL.jdbc.Driver]
  70. at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.applyPropertyValues(AbstractAutowireCapablebeanfactory.java:1518)
  71. at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.populateBean(AbstractAutowireCapablebeanfactory.java:1226)
  72. at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.doCreateBean(AbstractAutowireCapablebeanfactory.java:543)
  73. at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.createBean(AbstractAutowireCapablebeanfactory.java:482)
  74. at org.springframework.beans.factory.support.Abstractbeanfactory$1.getObject(Abstractbeanfactory.java:306)
  75. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
  76. at org.springframework.beans.factory.support.Abstractbeanfactory.doGetBean(Abstractbeanfactory.java:302)
  77. at org.springframework.beans.factory.support.Abstractbeanfactory.getBean(Abstractbeanfactory.java:197)
  78. at org.springframework.beans.factory.support.DefaultListablebeanfactory.findAutowireCandidates(DefaultListablebeanfactory.java:1192)
  79. at org.springframework.beans.factory.support.DefaultListablebeanfactory.doResolveDependency(DefaultListablebeanfactory.java:1116)
  80. at org.springframework.beans.factory.support.DefaultListablebeanfactory.resolveDependency(DefaultListablebeanfactory.java:1014)
  81. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545)
  82. ... 60 more
  83. Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
  84. PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.MysqL.jdbc.Driver]
  85. at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:121)
  86. at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
  87. at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.applyPropertyValues(AbstractAutowireCapablebeanfactory.java:1514)
  88. ... 71 more

我在这里错过了什么?

最佳答案
您可能跳过了一些依赖项:

  1. MysqLMysqL-connector-java

猜你在找的Spring相关文章