【问题标题】:Swing application error: java.lang.classnotfoundexception com.mysql.jdbc.driverSwing 应用程序错误:java.lang.classnotfoundexception com.mysql.jdbc.driver
【发布时间】:2012-07-08 01:16:08
【问题描述】:

我的 swing 应用程序有这个问题:“java.lang.classnotfoundexception com.mysql.jdbc.driver with swing”。当我创建连接时,我添加了 mysql 连接器 lib 文件并进行了测试。它是成功的。现在我已连接,我可以看到数据库中的每个表。问题是当我想创建一个简单的选择查询时。

public class DatabaseManager {
    public static Connection getMySqlConnection() throws Exception {
        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost/Sample";
        String username = "root";
        String password = "123";
        Class.forName(driver);
        Connection conn = DriverManager.getConnection(url, username, password);
        return conn;
      }
}

【问题讨论】:

  • 当应用程序失败时,您是如何运行应用程序的?例如,这是通过 Eclipse,还是已经编译?异常表明您的 MySQL 库不在类路径中。
  • 我正常运行我的应用程序,当我点击调用选择查询的按钮时,我看到了错误。
  • 我会仔细检查以确保您的 MySQL 库实际上在类路径中。
  • @user1107922 :请看一下这个example,希望这可以让您了解如何将.jar 文件放入您的类路径,以至少使该程序正常工作。但首先尝试使用此命令运行您的项目java -classpath pathToJARFile/myJARFile.jar;.; packageName.ClassNameWithMainMethod 现在按 Enter。无需在类名后指定 .class。

标签: java swing


【解决方案1】:

运行时,您的类路径中没有驱动程序类。将 MySQL JAR 添加到您的运行时类路径。

您的代码有很多问题。没有理由只为 MySQL 硬编码。以这种方式以纯文本形式保存所有信息是一种糟糕的形式。您可以将其移出到属性文件中。您将需要比这更多的方法(例如关闭连接等)

【讨论】:

  • 我应该如何将这个 jar 添加到我的运行时类路径中?我不明白我在摇摆应用程序中的类路径是什么。这是我编写的第一个应用程序。
  • 和非 Swing 应用程序一样:运行时告诉 JVM 什么。查看 java.exe 上的 -classpath 选项。
  • 我试过这个:“java -classpath mysql-connector-java-5.1.21-bin.jar Client.classes.client.DatabaseManager.class”但我有这个错误:原因:java。 lang.ClassNotFoundException: ...找不到主类:Client.classes.client.DatabaseManager.class。程序将退出。
  • 错误,如您所见。你的 JAR 是正确的;现在你需要告诉它如何使用 main 方法找到你的类。您的软件包名称肯定令人困惑。接下来,您需要将包结构的父目录添加到类路径中。
  • 抱歉这个愚蠢的答案,但我不能让它工作。我把 jar 放在 Project 目录下。我有这样的结构:Project/Client/classes/client,我有两个类文件 - HomePage.class 与 main 方法和 DatabaseManager.class 与我写的源代码。
猜你喜欢
  • 2013-08-12
  • 2018-11-09
  • 2011-05-13
  • 1970-01-01
  • 1970-01-01
  • 2013-07-03
相关资源
最近更新 更多