【问题标题】:org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'org.apache.tomcat.dbcp.dbcp.SQLNestedException:无法加载 JDBC 驱动程序类 'org.postgresql.Driver'
【发布时间】: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


【解决方案1】:

我遇到了同样的问题,就我而言,我只是在“apache-tomcat-6.0.44/lib”文件夹中插入了 lib“postgresql-8.0-314jdbc3.jar”,它运行良好。

我在 Tomcat 服务器运行时环境中使用 JDK 1.8.0_60。

【讨论】:

    【解决方案2】:

    “Unsupported major.minor version 51.0”表示maven已下载为Java1.7编译的类文件(查看ClassVersionChecker)。

    现在将您的 Tomcat 使用的 JavaVM 至少升级到 1.7! 你会发现像

    这样的一行

    catalina.startup.VersionLogger.. JVM 版本:1.7.0_76-b13

    在您的 $TOMCAT_HOME/logs/catalina.out 文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 2021-08-31
      • 2017-12-08
      • 2017-06-15
      • 2020-09-17
      • 2017-05-17
      相关资源
      最近更新 更多