|
|
org.springframework.jdbc.UncategorizedSQLException : Hibernate operation:
mons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'at org.apache.commons.dbcp.BasicDataSource.createData Source(BasicDataSource.java:766)at org.apache.commons.dbcp.BasicDataSource.getConnect ion(BasicDataSource.java:540)at org..orm.hibernate3.LocalDataSource ConnectionProvider.getConnection(LocalDataSourceCo nnectionProvider.java:81)at org.hibernate.cfg.SettingsFactory.buildSettings(Se ttingsFactory.java:72)at org.hibernate.cfg.Configuration.buildSettings(Conf iguration.java:1881)at org.hibernate.cfg.Configuration.buildSessionFactor y(Configuration.java:1174)at org..orm.hibernate3.LocalSessionFac toryBean.newSessionFactory(LocalSessionFactoryBean .java:825)at org..orm.hibernate3.LocalSessionFac toryBean.afterPropertiesSet(LocalSessionFactoryBea n.java:751)at org..beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:1091)at org..beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:396)at org..beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:233)at org..beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:145)at org..beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:277)at org..context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:313)at org..context.support.ClassPathXmlAp plicationContext.lt;initgt;(ClassPathXmlApplicationCon text.java:87)at org..context.support.ClassPathXmlAp plicationContext.lt;initgt;(ClassPathXmlApplicationCon text.java:72)at org..context.support.ClassPathXmlAp plicationContext.lt;initgt;(ClassPathXmlApplicationCon text.java:63)at X1.main(Unknown Source)at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585)at org.apache.tools.ant.taskdefs.ExecuteJava.run(Exec uteJava.java:202)at org.apache.tools.ant.taskdefs.ExecuteJava.execute( ExecuteJava.java:134)at org.apache.tools.ant.taskdefs.Java.run(Java.java:7 10)at org.apache.tools.ant.taskdefs.Java.executeJava(Jav a.java:178)at org.apache.tools.ant.taskdefs.Java.execute(Java.ja va:84)at org.apache.tools.ant.UnknownElement.execute(Unknow nElement.java:275)at org.apache.tools.ant.Task.perform(Task.java:364)at org.apache.tools.ant.Target.execute(Target.java:34 1)at org.apache.tools.ant.Target.performTasks(Target.ja va:369)at org.apache.tools.ant.Project.executeSortedTargets( Project.java:1216)at org.apache.tools.ant.Project.executeTarget(Project .java:1185)at org.apache.tools.ant.helper.DefaultExecutor.execut eTargets(DefaultExecutor.java:40)at org.apache.tools.ant.Project.executeTargets(Projec t.java:1068)at org.apache.tools.ant.Main.runBuild(Main.java:668)at org.apache.tools.ant.Main.startAnt(Main.java:187)at org.apache.tools.ant.launch.Launcher.run(Launcher. java:246)at org.apache.tools.ant.launch.Launcher.main(Launcher .java:67)Caused by: java.lang.ClassNotFoundException: org.postgresql.Driverat org.apache.tools.ant.AntClassLoader.findClassInCom ponents(AntClassLoader.java:1166)at org.apache.tools.ant.AntClassLoader.findClass(AntC lassLoader.java:1107)at org.apache.tools.ant.AntClassLoader.loadClass(AntC lassLoader.java:983)at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51)at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:319)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:164)at org.apache.commons.dbcp.BasicDataSource.createData Source(BasicDataSource.java:760)... 38 more2006-09-15 00:52:11,861 WARN Configurator:No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/Users/lynx/Documents/work/hibernate-3.1/lib/ehcache-1.1.jar!/ehcache-failsafe.xml2006-09-15 00:52:13,194 WARN SQLErrorCodesFactory:Error while extracting database product name - falling back to empty error codesorg..jdbc.support.MetaDataAccessExc eption: Could not get Connection for extracting meta data; nested exception is org..jdbc.CannotGetJdbcConnectionEx ception: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'org..jdbc.CannotGetJdbcConnectionEx ception: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'at org.apache.commons.dbcp.BasicDataSource.createData Source(BasicDataSource.java:766)at org.apache.commons.dbcp.BasicDataSource.getConnect ion(BasicDataSource.java:540)at org..jdbc.datasource.DataSourceUtil s.doGetConnection(DataSourceUtils.java:112)at org..jdbc.datasource.DataSourceUtil s.getConnection(DataSourceUtils.java:77)at org..jdbc.support.JdbcUtils.extract DatabaseMetaData(JdbcUtils.java:167)at org..jdbc.support.JdbcUtils.extract DatabaseMetaData(JdbcUtils.java:207)at org..jdbc.support.SQLErrorCodesFact ory.getErrorCodes(SQLErrorCodesFactory.java:187)at org..jdbc.support.SQLErrorCodeSQLEx ceptionTranslator.setDataSource(SQLErrorCodeSQLExc eptionTranslator.java:126)at org..jdbc.support.SQLErrorCodeSQLEx ceptionTranslator.lt;initgt;(SQLErrorCodeSQLExceptionT ranslator.java:92)at org..orm.hibernate3.SessionFactoryU tils.newJdbcExceptionTranslator(SessionFactoryUtil s.java:133)at org..orm.hibernate3.HibernateAccess or.getJdbcExceptionTranslator(HibernateAccessor.ja va:235)at org..orm.hibernate3.HibernateTempla te.getSession(HibernateTemplate.java:413)at org..orm.hibernate3.HibernateTempla te.execute(HibernateTemplate.java:355)at org..orm.hibernate3.HibernateTempla te.saveOrUpdate(HibernateTemplate.java:690)at AbstractSpringDao.saveOrUpdate(Unknown Source)at UserSpringDao.saveOrUpdate(Unknown Source)at X1.main(Unknown Source)at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585)at org.apache.tools.ant.taskdefs.ExecuteJava.run(Exec uteJava.java:202)at org.apache.tools.ant.taskdefs.ExecuteJava.execute( ExecuteJava.java:134)at org.apache.tools.ant.taskdefs.Java.run(Java.java:7 10)at org.apache.tools.ant.taskdefs.Java.executeJava(Jav a.java:178)at org.apache.tools.ant.taskdefs.Java.execute(Java.ja va:84)at org.apache.tools.ant.UnknownElement.execute(Unknow nElement.java:275)at org.apache.tools.ant.Task.perform(Task.java:364)at org.apache.tools.ant.Target.execute(Target.java:34 1)at org.apache.tools.ant.Target.performTasks(Target.ja va:369)at org.apache.tools.ant.Project.executeSortedTargets( Project.java:1216)at org.apache.tools.ant.Project.executeTarget(Project .java:1185)at org.apache.tools.ant.helper.DefaultExecutor.execut eTargets(DefaultExecutor.java:40)at org.apache.tools.ant.Project.executeTargets(Projec t.java:1068)at org.apache.tools.ant.Main.runBuild(Main.java:668)at org.apache.tools.ant.Main.startAnt(Main.java:187)at org.apache.tools.ant.launch.Launcher.run(Launcher. java:246)at org.apache.tools.ant.launch.Launcher.main(Launcher .java:67)Caused by: java.lang.ClassNotFoundException: org.postgresql.Driverat org.apache.tools.ant.AntClassLoader.findClassInCom ponents(AntClassLoader.java:1166)at org.apache.tools.ant.AntClassLoader.findClass(AntC lassLoader.java:1107)at org.apache.tools.ant.AntClassLoader.loadClass(AntC lassLoader.java:983)at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51)at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:319)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:164)at org.apache.commons.dbcp.BasicDataSource.createData Source(BasicDataSource.java:760)... 37 more2006-09-15 00:52:13,350 WARN JDBCExceptionReporter:SQL Error: 0, SQLState: null2006-09-15 00:52:13,350 ERROR JDBCExceptionReporter:Cannot load JDBC driver class 'org.postgresql.Driver'2006-09-15 00:52:13,356 WARN JDBCExceptionReporter:SQL Error: 0, SQLState: null2006-09-15 00:52:13,357 ERROR JDBCExceptionReporter:Cannot load JDBC driver class 'org.postgresql.Driver'
BUILD FAILED
/Users/lynx/Documents/work/testing-2/build.xml:80: org..jdbc.UncategorizedSQLException : Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [null]; error code [0]; Cannot load JDBC driver class '
org.postgresql.Driver
'; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class '
org.postgresql.Driver
'
The problem is quite simple - the class driver cannot be found in the classpath. However, from the looks of the stacktrace is seems that the classname might involve some blanks and ' characters.
Make sure that when you specify your jdbcDriver class, no 'extra' characters are specified.
mons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'
--------------- . ----------
Should the PostgreSQL jar be in an additional location other than quot;/Library/Java/Extensionsquot;? For example, should it be on my application class path or in the Hibernate or Spring directories?
Thanks!
Daniel.
Hey Daniel,Originally Posted by lynxShould the PostgreSQL jar be in an additional location other than quot;/Library/Java/Extensionsquot;? For example, should it be on my application class path or in the Hibernate or Spring directories?
In a web application, I always package the database jar(s) in the WEB-INF/lib directory. I have never actually used the Java extension mechanism...
-Arthur Loder
Hi Arthur,
As you suggested, the Java extension mechanism was not loading the PostgreSQL driver, so I added it to my class path, and it is working now!
Thanks a lot!
Daniel. |
|