这个问题在这里被提出了很多,但我仍然无法解决我的问题:
我将mysql-connector-java-5.1.18-bin
放入C:\Program Files\Java\jre6\lib\ext
文件夹。
我有这段代码:
// Load the database driver
Class.forName("com.mysql.jdbc.Driver");
// Get a connection to the database
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mysql", "root", "4958ps");
// Get a statement from the connection
Statement stmt = conn.createStatement() ;
// Execute the query
ResultSet rs = stmt.executeQuery( "SELECT * FROM Cust" ) ;
// Loop through the result set
while( rs.next() )
System.out.println( rs.getString(1) ) ;
// Close the result set, statement and the connection
rs.close() ;
stmt.close() ;
conn.close() ;
} catch( SQLException se ) {
System.out.println( "SQL Exception:" ) ;
// Loop through the SQL Exceptions
while( se != null ) {
System.out.println( "State : " + se.getSQLState() ) ;
System.out.println( "Message: " + se.getMessage() ) ;
System.out.println( "Error : " + se.getErrorCode() ) ;
se = se.getNextException() ;
}
} catch( Exception e ) {
e.printStackTrace();
}
我得到一个带有以下堆栈跟踪的ClassNotFoundException:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at pack.Test.main(Test.java:14)
我还将CLASSPATH
变量更改为C:\Program Files\Java\jre6\lib\ext\mysql-connector-java-5.1.18-bin
有什么想法吗?
答案 0 :(得分:3)
您下载的zip应包含名为mysql-connector-java-5.0.8-bin.jar
或类似的文件。版本可能不同。检查它是否存在并检查它是否直接位于类路径中(不在子目录等中)。
如果没问题,请检查您的类路径变量是否被其他内容覆盖。如果您手动执行程序,请执行以下操作:java -cp "C:\Program Files\Java\jre6\lib\ext\mysql-connector-java-5.0.8-bin.jar:." YourClass
如果您使用的是eclipse之类的IDE,请检查您的构建路径设置。 (在eclipse中,您可以右键单击您的项目 - >属性 - > Java构建路径 - >添加外部JAR,然后提供连接器的路径... jar。
答案 1 :(得分:2)
我认为问题是你要把mysql-connector-java-5.1.18-bin文件放在那里你必须把“mysql-connector-java-5.0.5.jar”文件放在那里。
我在eclipse(IDE)中创建了一个Web应用程序。因此,如果您在eclipse(IDE)上创建Web应用程序,则可以将“mysql-connector-java-5.0.5.jar”放在lib文件夹中。 下面是我把“mysql-connector-java-5.0.5.jar”文件...
的路径C:\用户\阿布舍克巴克\工作空间\ MyProject的\的WebContent \ WEB-INF \ lib中\ MySQL的连接器的Java-5.0.5.jar
答案 2 :(得分:1)
CLASSPATH变量不能只是目录,它必须具有实际的jar名称。
答案 3 :(得分:0)
bat文件看起来像
@echo off
set CLASSPATH=program.jar;mysql-connector-java-5.1.18-bin.jar
:start
start javaw.exe MainClass
program.jar(将包含MainClass类作为主类),mysql.jar必须驻留在同一目录中。
对于Eclipse,您必须将项目Build Path设置为包含mysql ... jar。
答案 4 :(得分:0)
我遇到了同样的问题以及我采取了哪些措施来解决它:
相应地将.jar下载到使用的服务器: 对于mySQL,我下载了mysql-connector-java-5.1.18-bin.jar
在SYSTEM VARIABLES中添加了CLASSPATH,其中使用了.jar的全名。如果你已经有了CLASSPATH var,那么就加入它,就像在PATH&#34 ;; Jar / jar文件名的路径"就像是: CLASSPATH = d:\ requisites \ mySQL_connector \ mysql-connector-java-5.1.18-bin.jar
在Eclipse项目中: 右键单击project-> Build Path-.Configure构建路径。添加外部JAR并添加jar文件。当您成功完成此步骤时,它将显示在"参考库"
一个重要的步骤(如果您使用我正在使用的Android开发工具框架)是在您的应用程序的libs文件夹中添加该JAR文件。我通过将jar从我的路径(d:\ requisites \ mySQL_connector)复制粘贴到我项目的libs文件夹来完成此操作。
重新启动项目,它在第二次运行时工作。
答案 5 :(得分:0)
试试这个
如果您创建动态Java项目(在Eclipse中)
检查相应项目的构建路径
步骤1.右键单击您的项目并选择属性
步骤2.在右侧,您将获得部署程序集
步骤3.单击“添加”,然后从“文件系统”
步骤4.再次单击添加并选择相应的数据库jar文件。