这个问题可能在这里问了很多次.做了一些谷歌搜索上述错误并做了一些更新后,我无法理解为什么我仍然会收到该错误.我已经在类路径中放了我的驱动程序 - mysql-connector-java-5.1.5-bin:
Java_Home\jre\lib\
Java_Home\jre\lib\ext\
Java_Home\lib
Run Code Online (Sandbox Code Playgroud)
我用来连接mysql数据库的代码是:
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mail","root","");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select message_body from deadletter");
String dbtime;
while (rs.next()) {
dbtime = rs.getString(1);
System.out.println(dbtime);
}
con.close();
}
catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
以上异常的完整堆栈跟踪是:
java.lang.ClassNotFoundException: com.mysql.jdbc:Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at mail.main(mail.java:114)
Run Code Online (Sandbox Code Playgroud)
现在,我在这里做错了什么?
我是mysql和jdbc的新手,我收到了这个标题中的错误.我一整天都在搜索,找不到适合我的解决方案.
我试过的:卸载/重新安装mysql,将mysql-connector-java-5.1.25-bin.jar和ojdbc7.jar粘贴到我试图运行的.class文件的相同位置,在不同的目录中重建程序,可能还有其他几件事.
我使用notepad ++进行编码,并使用windows命令提示符进行编译和运行.它编译得很好,但我试着运行
C:\ Projects\bin> java -cp.ClientBase
输出是:
java.lang.ClassnNotFoundException:com.mysql.jdbc.Driver
at java.net.URLClassloader $ 1.run(URLClassLoader.java:336)
at java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader .findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:432)
at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass( ClassLoader.java:356)
在java.lang.Class.forName0(本机方法)
java.lang.Class.forName(Class.java:188)
在ClientBase.main(ClientBase.java:21)
再见.
// import packages
import java.sql.*;
// create class ClientBase
public class ClientBase{
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/CLIENTBASE";
// Database credentials
static final String USER = "root";
static final String …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个登录注册 Web 应用程序,它本质上是让用户在数据库上注册,然后允许他们登录。我已经编写了所有代码,并且正在尝试将我的程序连接到我的数据库。这是我收到的错误:
Exception
javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.NoClassDefFoundError: java/sql/Driver
Run Code Online (Sandbox Code Playgroud)
我已将所有 Postgres、Tomcat 和 SQL 连接器/驱动程序 jar 添加到我classpath和我的WEB-INF/lib文件夹中。我不太确定还能做什么。我尝试使用另一个类进行测试,并且能够连接到我的数据库。我还仔细检查了我的连接 URL。怎么了?
谢谢!