【问题标题】:java.lang.NoClassDefFoundError: com/mysql/jdbc/StringUtilsjava.lang.NoClassDefFoundError: com/mysql/jdbc/StringUtils
【发布时间】:2015-09-10 11:18:30
【问题描述】:
在 websphere 门户中部署应用程序时出现此错误
Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mysql://localhost:3306/My_dataBase'
java.lang.NoClassDefFoundError: com/mysql/jdbc/StringUtils
那么谁能帮帮我?
【问题讨论】:
标签:
mysql
spring-mvc
websphere
【解决方案1】:
错误是不言自明的 - 您在类路径中缺少 MySQL JDBC 连接器 JAR(可以从 https://dev.mysql.com/downloads/connector/j/5.0.html 下载 MySQL JDBC 连接器)
如果您正在使用 WebSphere 门户,我猜您正在使用来自 JNDI 的 JDBC 连接。然后您应该定义 MySQL JDBC 提供程序,其路径指向 MySQL JDBC 驱动程序 JAR。
首先在安装了 WAS 的机器上复制 MySQL JDBC 连接器 JAR(例如 /path/to/mysql-connector-java-5.0.8-bin.jar)。
实现类名是com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource
然后你为那个 JDBC Provider 定义 JDBC DataSource 就是
如果您不使用 WebSphere 提供的 JDBC 并使用 Spring 为您提供数据库连接,您应该将 MySQL JDBC Connector JAR 与您的 WAR 捆绑在一起(例如,通过将其复制到 WEB-INF/lib 或您的 WAR lib 目录所在的任何位置)。
【解决方案2】:
另一种选择是将 MySQL jdbc 驱动程序 jar 与您的部署代码一起打包,或者创建一个包含该驱动程序 jar 路径的共享库。然后,您需要在应用服务器上创建一个类加载器,以便在启动时加载共享库。