我是 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/