有一个非常相似的问题,但在我的情况下,我的构建路径中没有任何重复的jar文件,所以解决方案对我无效。我已经在谷歌上搜索了几个小时,但我找到的解决方案都不能解决我的问题。我正在为一个作业创建一个带有一些数据库连接的网站。我正在使用MySQL数据库,在Eclipse中开发,并在Windows上运行。
我在以下代码中一直收到java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
的错误:
import java.sql.*;
//...
public void someMethodInMyServlet(PrintWriter out)
{
Connection connection = null;
PreparedStatement query = null;
try {
out.println("Create the driver instance.<br>");
Class.forName("com.mysql.jdbc.Driver").newInstance();
out.println("Get the connection.<br>");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "secret");
query = connection.prepareStatement( "SELECT * FROM customers");
//...
} catch (Exception e)
{
out.println(e.toString()+"<br>");
}
}
//...
当我运行上面的代码时,我得到以下输出:
Create the driver instance.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
它无法通过Class.forName...
这一行,并且我无法弄清楚为什么!以下是我所做的:
- 下载mysql-connector。
- 将其放入我的MySQL文件夹
C:\Program Files\MySQL\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar
。 - 在Eclipse中打开项目属性。
- 将外部Jar添加到我的构建路径,并选择
mysql-connector-java-5.1.12-bin.jar
。
每次我尝试使用servlet时,无论我是否将jar文件放在那里,都会出现相同的错误。你能帮我找出问题所在吗?
java -cp C:\Program Files\MySQL\mysql-connector-java-5.1.12-bin.jar;...
- trashgod..\Test\src>java -cp "C:\Program Files\MySQL\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar"; Main.java Exception in thread "main" java.lang.NoClassDefFoundError: Main/java
。 - Kiril