1

可能重复:
java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

大家好,
这是我的示例代码:

Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "test";
String driver = "com.mysql.jdbc.Driver";
String userName = "root"; 
String password = "admin";
try {
  Class.forName(driver).newInstance();
  conn = DriverManager.getConnection(url+dbName,userName,password);
  System.out.println("Connected to the database");
  conn.close();
  System.out.println("Disconnected from database");
} catch (Exception e) {
  e.printStackTrace();
}

我在eclipse中运行没问题,但是我构建到jar文件并在命令行上运行java -jar Test.jar我得到这个错误:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)

请帮助我如何解决它。

谢谢!!!

4

4 回答 4

1

您缺少 MySQL JDBC 驱动程序.jar文件,或者它不在您的类路径中。

于 2012-09-28T03:21:46.933 回答
1

您需要将sql驱动程序放入类路径中,将驱动程序放在与jar文件相同的文件夹中并运行

java -classpath mysql-connector-java-5.1.22-bin.jar -jar Test.jar

您可以从http://www.mysql.com/downloads/connector/j/下载 mysql java 驱动程序

于 2012-09-28T03:24:07.820 回答
1

如果您使用的是 maven,请在 pom.xml 中添加以下依赖项

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.13</version>
        <classifier />
    </dependency>
于 2012-09-28T03:34:11.397 回答
0

将 MySQL jdbc 驱动程序 jar 文件添加到您的类路径中。

于 2012-09-28T04:23:27.987 回答