时空摆渡者 2020-04-28 21:19 采纳率: 0%
浏览 269

LAMP18.04下javaweb项目用JDBC连接mysql5.7.28失败,报错java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver

图片说明

这个是云服务器运行连接数据库的字节码文件,连接成功会输出一句话“连接数据库成功”。

但奇怪的是,**这个项目在本机上运行没有报错**。更奇怪的是,这个部署在云服务器上的项目**jsp页面有时可以将数据库的内容输出出来,**也可以进行增删改查等操作。但大概一晚上就连接不到了。

第一:我进行了如下努力。本机的数据库版本较高,所以又加入了
mysql-connector-java-5.1.47的包。
图片说明

第二,我在本机上连接云服务器的数据库,连接成功。但在云服务器上总是不稳定,(**_因此我认为我的数据库连接的jar包应该成功加入了项目,不然本地怎么能连接云服务器的数据库呢,而且数据库信息肯定是正确的_**)

第三:我目前的驱动是driver = "com.mysql.cj.jdbc.Driver"。
这个网上显示mysql5.7应该使用"com.mysql.jdbc.Driver",但我使用这个就会报错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
有一个明显的规律。如果jsp页面没有显示数据库内容,只要我将war包解压后的文件夹删除,重新访问生成新的文件夹,jsp页面就可以显示数据库的内容,可以增删改查
希望哥哥姐姐们如果知道或者有其他想法可以解答一下!拜托了

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 00:53
    关注

    首先,关于ClassNotFoundException,这通常是由于缺少JDBC驱动程序导致的。因此,确保已将正确的MySQL驱动程序库添加到您的项目中。

    其次,您提到的使用mysql-connector-java-5.1.47的包可能会导致兼容性问题,因为您正在使用MySQL 5.7.28。建议使用最新版本的MySQL Connector / J 8.0。

    此外,关于您观察到的明显规律,这可能与您的应用程序缓存或缓存清理有关。您可以尝试在部署应用程序时禁用缓存,或在应用程序代码中手动清除缓存。

    最后,建议检查您的代码中的异常处理,以便了解问题背后的更多信息。

    评论

报告相同问题?

悬赏问题

  • ¥15 我这模型写的不对吗?为什么lingo解出来的下面影子价格这一溜少一个变量
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波