Dus*_*usk 35 java exception jdbc
这个问题可能在这里问了很多次.做了一些谷歌搜索上述错误并做了一些更新后,我无法理解为什么我仍然会收到该错误.我已经在类路径中放了我的驱动程序 - 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)
现在,我在这里做错了什么?
小智 29
如果您在使用Eclipse时遇到此问题,我一直在关注许多不同的解决方案,但对我有用的解决方案是:
右键单击项目文件夹并打开"属性".
在右侧面板中,选择Java Build Path,然后转到Libraries选项卡.
选择Add External JARs以导入mysql驱动程序.
从右侧面板中,选择Deployment Assembly.
选择Add ...,然后选择Java Build Path Entries并单击Next.
您应该在列表中看到sql驱动程序.选择它并先单击.
就是这样!尝试再次运行它!干杯!
Rut*_*war 24
我也在努力解决同样的问题,最后得到了解决方案.只需将其复制MySql-Connector.jar到Tomcat的lib文件夹中,然后从webapp的lib文件夹中删除jar ,然后运行该项目.
Bos*_*one 22
最常见的原因是您的类加载位置存在冲突.例如,如果您有2个位置,其中一个有JDBC驱动程序而另一个没有,那么如果您的类加载器从第一个位置加载,而第一个位置的某个类想要使用驱动程序 - 驱动程序不在那里.因此,寻找使用您的驱动程序的重复JAR
小智 11
我有同样的问题,但经过长时间的搜索我发现了这个问题:http: //www.herongyang.com/JDBC/MySQL-JDBC-Driver-Load-Class.html
但我做了一些改变.我把驱动程序放在与我的ConTest.java文件相同的文件夹中,然后编译它,导致ConTest.class.
所以在这个文件夹中有
ConTest.class
mysql-connector-java-5.1.14-bin.jar
Run Code Online (Sandbox Code Playgroud)
我写这个
java -cp .;mysql-connector-java-5.1.14-bin.jar ConTest
Run Code Online (Sandbox Code Playgroud)
这种方式如果你不使用任何IDE只是在Windows中的cmd或Linux中的shell.
小智 5
这是供月食用户使用的……
首先,您检查jdbc jar文件是否已添加到Ear库中。
如果是的话...然后在Web Content-> web Inf文件夹-> lib中检查...
和过去这里的lib文件夹中的jdbc jar文件.....
| 归档时间: |
|
| 查看次数: |
220854 次 |
| 最近记录: |