【问题标题】:classpath, eclipse and java.lang.ClassNotFoundException: com.mysql.jdbc.Driver类路径、eclipse 和 java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
【发布时间】:2011-11-01 10:15:18
【问题描述】:

我已经看过并阅读了 10 多个类似的问题,但仍然无法弄清楚。

我正在使用 windows7 / Eclipse Helios Service Release 1 / mysql-connector-java-5.1.13-bin.jar。

直到昨天一切正常,现在我收到了这个错误。 我不知道我所做的任何事情都可能导致这种情况(但也许仍然......)。

我的系统上没有此文件的副本(也没有任何其他 mysql-connector-*)。

我不确定 eclipse 在哪里寻找这个文件, 它与其他几个 .jarS 位于我的项目 \WebContent\WEB-INF\lib 文件夹下。

查看“项目”菜单 -> 属性,然后查看左侧的“Java 构建路径”,我将其视为“库”选项卡内“Web 应用程序库”下的库之一。 我需要将它添加到 CLASSPATH 系统环境变量吗? (如果是这样 - 在那种情况下会是什么?)

有没有办法让我看到(通过调试)类加载器正在搜索的实际路径是什么?

-=-=-
@javagirl 关注 cmets 的更多信息

问:您从哪里得到异常?编译、构建、作为 java 应用程序运行,在 tomcat/etc 下运行?
答:这是我在运行 tomcat6 的 eclipse 控制台上遇到的运行时异常。

问:您使用的是哪种构建工具,蚂蚁?
答: AFAIK 没有。只需在 Eclipse 上按播放或调试。并从浏览器连接到 tomcat。

问:这个jar是否位于最终构建的包中?
答:我不知道如何回答,但如果你能告诉我我会去哪里看。那说我猜答案是否定的,因为搜索只找到我提到的 JAR 的单个实例。

问:如果你在像tomcat这样的servlet容器下运行它,你可能需要把它放在tomcat/lib文件夹中
答:我在下面运行tomcat - 但不确定我应该在哪里找到这个 lib 文件夹。

-=-=-

有人可以指导我逐步解决这个问题吗?

【问题讨论】:

标签: java jdbc mysql-connector eclipse-3.6


【解决方案1】:

所以如果你在内置的tomcat下运行它:你可以去你的工作区文件夹(eclipse工作区文件夹),会有文件夹.metadata.plugins\org.eclipse.wst.server.core\tmp0(或tmp1,2 - 取决于你的环境)/wtpwebapps//WEB-INF/lib - 这里应该是你的应用程序的所有罐子。如果没有 - 尝试手动放置(但这是最糟糕的方式)

将它添加到 tomcat lib 文件夹 - 尝试找到它?当您在 Eclipse 中创建服务器时,它应该询问您有关 Tomcat 的安装文件夹的信息?或者它可以建议下载它..所以只需下载/找到它,然后把这个罐子放在那里

ps:恐怕您需要阅读很多内容,例如,您需要能够从命令行运行您的 tomcat,以便更好地了解所有流程以及所有流程是如何工作的。

【讨论】:

  • 非常感谢 javagirl。我发现我有 3 个相关位置:第一个是我的源代码,第二个是工作区,第三个是内置 tomcat。服务器本身确实缺少该文件-我真的不知道为什么。无论如何,在将它复制到那里之后,一切都恢复了正常工作。你说这是最糟糕的方式 - 更好的方式是什么?为什么eclipse不自己复制它?至于你的 PS: - 毫无疑问 - 我有很多东西要学,java 不是我的强项。但我学得很快。有什么好的参考资料可以推荐吗?
  • eclipse 有时无法正常工作,它也可以清理此文件夹,以便您将来(可能)再次将其放在那里。最好不要为此目的使用 eclipse,而是使用 maven 工具。所以试着学习 Maven
  • 感谢您的建议。您可以推荐任何关于 maven 的好读物吗?
  • 我希望我能再次投票给你的答案@javagirl,我又一次经历了这个问题......
猜你喜欢
  • 2018-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多