java - 从 eclipse 导出 WAR,找不到 mysql 驱动程序。从 Eclipse 运行时很好

标签 java mysql eclipse jsp tomcat

我是 Java 的新手,正在努力在我的机器上运行一段代码。在 eclipse 中,我能够轻松地将 mysql-connector jar 文件添加到 WEB-INF/lib 文件夹中,并且当我从 eclipse 中启动 tomcat 服务器时,数据库连接工作正常。但是,如果我将项目导出为 WAR 文件并将其部署到我本地计算机上的 tomcat 中,它会在我尝试进行查询时立即终止。

它因空指针异常而爆炸,所以我查看了日志文件,看起来它找不到驱动程序(尽管它在 WEB-INF 中)。

我曾尝试将 ubuntu 上的 mysql 连接器复制到/usr/share/java、/usr/share/tomcat7/lib 和/user/share/tomcat7/bin/lib 中,但无济于事。

我试过在项目设置->数据连接中手动设置驱动路径无济于事。

我已经准备好许多类似的问题,这些问题已通过将连接器复制到 WEB-INF 或 tomcat/lib 文件夹中得到解决,但在我的情况下它什么也没做。我对 java 了解不够,无法理解为什么它在从 eclipse 生成时有效,但在部署为 war 文件时却无效。

非常感谢!

最佳答案

如果你得到一个 ClassPath Exception 和一个 NPE (NullPointerException)。此异常的基本原因是 JAR 文件丢失或库路径中有多个 JAR 文件。让我们做一个基本的故障排除:

   1st: Check if your MYSQL-CONNECTOR JAR file was included in the library of WAR <WEB-INF/lib>.
   2nd: Remove other MYSQL library from tomcat lib.
   3rd: While your tomcat is running, remove the WAR project from the tomcat webapps folder and wait for a few seconds until everything is clear
   4th: Restart your tomcat
   5th: Copy your WAR file into the tomcat/webapps folder.

另一种情况,如果你只有 NPE。这意味着您正在访问一些变量,并且它为空或未初始化。当您访问属性文件并且名称拼写错误时,也会发生这种情况。

关于java - 从 eclipse 导出 WAR,找不到 mysql 驱动程序。从 Eclipse 运行时很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24937613/

相关文章:

java - 比较一个简单循环的 java 字节码?

java - 我的通知未检索待处理 Intent 中的额外内容

mysql - cakephp 执行类似 : where md5(column) = $hash 的查询

c++ - Cygwin+ eclipse : How does one hide a console window in n OpengGL based program by without getting unrecognized emulation mode error?

java - 在 Eclipse 中更改方法签名时添加注释

java - IntelliJ : Why are my libraries not being recognized/downloaded?

java - 使用 for 循环传递对象。安卓

php - 函数不返回值

mysql - 是否可以根据另一列中的值设置列值?

java - 如何确定哪些 Eclipse 插件对菜单和工具栏有贡献并停止它们