2

我按照教程使用 Struts 2、Maven、Hibernate 和 Spring 以及 Mysql 数据库创建了一个项目:http ://www.mkyong.com/struts2/struts-2-spring-hibernate-integration-example/

它正在工作,我现在想使用 Postgresql 数据库。为此,我编辑了一些配置文件以通过 postgresql 删除 mysql 配置:

  • 在 pom.xml 中:
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901.jdbc4</version>
</dependency>
  • 在 database.properties 中:
jdbc.driverClassName=com.postgresql.jdbc.Driver
jdbc.url=jdbc:postgresql://localhost:5432/my_base
jdbc.username=...
jdbc.password=...
  • 在 HibernateSessionFactory.xml 中:

<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>

这是 Eclipse 中的错误:

GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error创建 ServletContext 资源 [/WEB-INF/classes/config/spring/DataSource.xml] 中定义的名称为“dataSource”的 bean:设置属性值时出错;嵌套异常是 org.springframework.beans.PropertyBatchUpdateException;嵌套的PropertyAccessExceptions(1)是:PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' 抛出异常;嵌套异常是 java.lang.IllegalStateException:无法在 org.springframework.beans.factory 加载 JDBC 驱动程序类 [com.postgresql.jdbc.Driver]。StandardService.start(StandardService.java:525) at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) at org.apache.catalina.startup.Catalina.start(Catalina.java:595) at sun .reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke (Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) springframework.beans.PropertyBatchUpdateException;嵌套的PropertyAccessExceptions(1)是:PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property' driverClassName' 抛出异常;嵌套异常是 java.lang.IllegalStateException: 无法在 org.springframework.beans.AbstractPropertyAccessor 的 org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:104) 加载 JDBC 驱动程序类 [com.postgresql.jdbc.Driver]。 setPropertyValues(AbstractPropertyAccessor.java:59) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)

问题出在哪里 ?

谢谢您的帮助 !

4

1 回答 1

6
Could not load JDBC driver class [com.postgresql.jdbc.Driver] at 

我相信正确的班级名称是org.postgresql.Driver

于 2012-07-08T22:41:57.380 回答