我按照教程使用 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)
问题出在哪里 ?
谢谢您的帮助 !