【问题标题】:SQLException stack traceSQLException 堆栈跟踪
【发布时间】:2015-10-12 12:36:31
【问题描述】:

所以我遇到了一种奇怪的情况。我有 Spring webapp,其中有我在 tomcat 的 server.xml 中定义的 JNDI 数据源以连接到 mysql 数据库 我的 Maven pom 中有 mysql-connector-java 5.1.2。

当我从 localhost 启动应用程序时,它可以工作,但是当我将它部署到远程 tomcat 时,它没有得到对数据库的调用。

发生此异常:

Couldnt execute sql CALL shareholders_company_list(?)
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Unable to create correct SQLException class instance, error class/codes may be incorrect. Reason:

** BEGIN NESTED EXCEPTION **

java.sql.SQLException
MESSAGE: Can't instantiate required class due to java.lang.ClassNotFoundException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException

STACKTRACE:

java.sql.SQLException: Can't instantiate required class due to java.lang.ClassNotFoundException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException

有没有办法避免这个 ClassNotFoundException,这样我就可以获得完整的堆栈跟踪,因为似乎发生这种情况的显式错误是在 MySQLNonTransientConnectionException 中,我似乎无法达到它。

【问题讨论】:

  • 检查依赖的范围,它是否与您正在创建的战争捆绑在一起?
  • @Bilbo Baggins 范围未定义,所以我猜 作为默认值
  • 检查它是否包含在战争中?应该是:)
  • @Bilbo Baggins 是的,它在 WEB-INF/lib 中

标签: java mysql spring tomcat


【解决方案1】:

tomcat\lib下导入mysql-connector-java-latestVersion.jar所需的版本(如果您没有任何偏好,请选择最新版本)

【讨论】:

  • 我会尽快尝试这个...我将jar导入lib文件夹后是否需要重新启动tomcat?
猜你喜欢
  • 1970-01-01
  • 2011-05-25
  • 2011-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-11
  • 2018-09-19
  • 2016-12-17
相关资源
最近更新 更多