java.lang.ClassNotFoundException:com.mysql.jdbc.Driver运行jar文件时

时间:2012-09-28 03:18:07

标签: java

  

可能重复:
  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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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驱动程序

答案 2 :(得分:1)

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

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.13</version>
        <classifier />
    </dependency>

答案 3 :(得分:0)

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