【问题标题】:com.mysql.jdbc.Driver ClassNotFoundException Eclipsecom.mysql.jdbc.Driver ClassNotFoundException Eclipse
【发布时间】:2016-06-14 18:31:41
【问题描述】:

我得到了一个 ClassNotFoundException 这个代码:

try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    MySQL.connect();

我导入了 mysql-connector (http://dev.mysql.com/downloads/connector/j/5.0.html) 并将其添加到一个特殊文件夹中(我将其命名为 External)并将其添加到构建路径中。当我在 Eclipse 中启动它时,它对我来说很好,但是如果我将它导出为 jar 并通过 java -jar 启动它,它对我不起作用,我得到 ClassNotFoundException ... 希望有人可以帮助我:) Mabye 它必须对类路径做一些事情,但是我该如何编辑它,因为 -cp External/mysql-connector.jar 不起作用..

【问题讨论】:

  • eclipse不导出mysql连接器jar文件,可以手动添加
  • 在使用 java -jar 运行 JAR 时,您必须将 mysql-connector 添加到类路径中。

标签: java mysql jdbc classpath cp


【解决方案1】:

当您使用java -jar 时,-cp 选项将被忽略。请参阅工具文档。您必须在 Manifest 的 Class-path 条目中列出依赖的 JAR。

不过,Class.forName() 行自 2007 年以来就不再需要了。

【讨论】:

  • 但是如果我不使用它,我会得到一个没有找到合适的驱动程序的异常:/
  • 所以?那只是将一个错误换成另一个错误。没提升;没有更糟。如果您在清单的 Class-path 条目中列出 JAR 文件,则不会。在再次发布之前尝试一下。
  • 如何在 Class-Path 中列出它们
  • 哦,别说了。你有没有考虑过看看这些?或者你需要一直用勺子喂食代码吗?
【解决方案2】:

我也认为你必须通过 [-cp] 来配置导入的库

java -cp ../lib/mysql-connector.jar;../lib/* ・・・

【讨论】:

  • java -cp External/mysql-connector-java-5.1.18-bin.jar -Xms512M -Xmx1536M -jar test.jar -- 这不起作用并且 java -cp ../External/ mysql-connector-java-5.1.18-bin.jar -Xms512M -Xmx1536M -jar test.jar 也不起作用..
  • what about: [java -Xms512M -Xmx1536M -cp test.jar;External/mysql-connector-java-5.1.18-bin.jar test.main] test.main 是主要方法你的 test.jar
猜你喜欢
  • 1970-01-01
  • 2013-11-16
  • 1970-01-01
  • 2010-12-07
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
  • 2014-10-11
相关资源
最近更新 更多