有一个非常类似的问题,但在我的情况下,我的构建路径中没有任何重复的jar,所以解决方案对我不起作用。我现在已经搜索了谷歌几个小时,但我在那里找到的解决方案都没有解决我的问题。我正在创建一个带有一些数据库连接的网站来完成作业。我正在使用MySQL数据库,在Eclipse中开发并在Linux上运行。 我继续使用以下JSP代码获取java.lang.ClassNotFoundException:com.mysql.jdbc.Driver:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>query the Leader(mysql) </title></head><body>
<%
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
//加载mysql数据库驱动类
Class.forName("com.mysql.jdbc.Driver").newInstance();
//数据库连接URL
String url = "jdbc:mysql://localhost/fams_db";
//数据库用户名
String user="root";
//数据库密码
String pwd="123456";
conn = DriverManager.getConnection(url,user,pwd);
stat=conn.createStatement();
String sql="SELECT * FROM Leader";
rs=stat.executeQuery(sql);
out.print("<table border=2>");
out.print("<tr>");
out.print("<th width=100>"+"LeaderID");
out.print("<th width=100>"+"LeaderName");
out.print("<th width=100>"+"LeaderPwd");
out.print("<th width=100>"+"Type");
out.print("</tr>");
while(rs.next()){
out.print("<tr>");
out.print("<td>"+rs.getInt("LeaderID")+"</td>");
out.print("<td>"+rs.getString("LeaderName")+"</td>");
out.print("<td>"+rs.getString("LeaderPwd")+"</td>");
out.print("<td>"+rs.getInt("Type")+"</td>");
out.print("</tr>");
}
if(rs!=null)
{
rs.close();
}
if(stat!=null)
{
stat.close();
}
if(conn!=null)
{
conn.close();
}
out.print("</table>"); %>
</body> </html>
我无法弄明白为什么!这是我做的:
1)。下载mysql-connector-java-5.1.27-bin.jar。
2)tomcat url:/ usr / local / tomcat7 eclipse url:/ usr / local / eclipse jdk url:/ usr / local / java
3)。在Eclipse中打开项目属性。
4)。运行jsp文件 每当我尝试使用servlet时,无论我是否有jar或者我没有,我都会得到相同的错误。你能帮我搞清楚吗?我应该把mysql-connector-java-5.1.27.jar ???
放在哪里答案 0 :(得分:3)
将 .jar 文件复制到项目的 WEB-INF \ lib 文件夹中。
答案 1 :(得分:0)
我猜你正在使用tomcat服务器,你可以在它的lib文件夹中使你的所有项目在eclipse中值得使用sql,或者你可以把它放在Web中内容/ WEB- INF / lib ,如果您有多个项目,这将不起作用。
答案 2 :(得分:0)
使用-cp标志:
java -cp /path/to/somefolder/.jar:/path/to/otherfolder/.jar com.YourMainClass
或者将一个Class-Path:标题添加到jar的清单
或
如果你遇到过这样的问题并尝试在eclipse中解决它,请转到
eclipse -> window -> preferences -> java -> buildpath -> classpath
并添加
"mysql-connector-java-5.1.22-bin.jar"
作为新变量。无论你想要什么,都可以命希望这会对你有所帮助。
答案 3 :(得分:0)
我解决了。我的jdk目录错了。