【发布时间】:2015-04-08 08:14:09
【问题描述】:
我无法从 oracle db web-app context 迁移到 postgresql db web-app context。
我有一个简单的 java spring-mvc web-app,它带有 flyway 来初始化数据库进程并休眠来管理对象。这个网络应用程序最初是考虑使用 oracle 数据库,而我正在尝试使用 postgresql 基础,但我对这个基础很陌生,并且对数据源的声明不满意。也许你会发现问题所在。
我在 eclipse 插件中使用 tomcat apache server (v6) 来调试我的 webapp。
当我尝试在我的服务器上运行我的网络应用程序时,服务器无法启动此日志:
11:23:57.903 [main] INFO o.h.tool.hbm2ddl.SchemaUpdate - HHH000228: Running hbm2ddl schema update
11:23:57.903 [main] INFO o.h.tool.hbm2ddl.SchemaUpdate - HHH000102: Fetching database metadata
11:23:57.903 [main] ERROR o.h.tool.hbm2ddl.SchemaUpdate - HHH000319: Could not get database metadata
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136) ~[tomcat-dbcp.jar:na]
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880) ~[tomcat-dbcp.jar:na]
[...]
Caused by: java.lang.UnsupportedClassVersionError: org/postgresql/Driver : Unsupported major.minor version 51.0
我已将驱动程序添加到我的 pom.xml
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1200-jdbc41</version>
</dependency>
并制作了
mvn eclipse:eclipse
我正在使用在 META-INF 目录中声明的数据源:
<Context>
<Resource name="jdbc/BlankAppDataSource"
auth="Container"
type="javax.sql.DataSource"
username="postgres"
password="postgres"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/my_schema"
/>
我什至已将驱动程序 .jar 添加到我的 tomcat lib 目录 (CATALINA_HOME/lib)。
提前致谢。
问候, 罗曼。
【问题讨论】:
-
驱动类名的属性是
driverClassName。 -
好的,谢谢!但现在我得到 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'
标签: hibernate spring-mvc tomcat jackson