已经将mysql-connector-java-5.1.18-bin.jar发在了D:\Program Files\Java\jdk1.7.0\lib里,
而且添加了CLASSPATH==.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;%JAVA_HOME%\lib\mysql-connector-java-5.1.18-bin.jar;
JAVA_HOME=D:\Program Files\Java\jdk1.7.0
但在Jcreator中运行以下代码import java.sql.*;public class LoadDriver {
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
        } catch (Exception e) {
             e.printStackTrace();        }
    }
}结果是
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
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:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at LoadDriver.main(LoadDriver.java:23)
请大家指点!

解决方案 »

  1.   

    你没必要把mysql的jar放在jdk目录中,使用eclipse,如果是web项目,直接把mysql的jar包拷贝到WIB-INF/lib目录下,如果是普通的Java项目,右键点击项目,选择BuildPath——add external archives...,然后选择mysql的jar包,把mysql的jar引入
      

  2.   

    放到ext下果然运行成功了,但不知为什么会这样,能帮着解释一下吗,多谢!
      

  3.   

    每一次的sql都必须引sql驱动包,如果照你的写能成功的话,所有的数据库的驱动包早就都集成到JDK里面了,所以必须每次连数据库的时候都必须引包
      

  4.   

    因为jvm的类加载的问题 jvm类加载采用父委托机制 ,你的应用程序 ,加载类是 通过 系统类加载器加载的 ,如果系统类加载器加载 ,而系统类加载器会通过 其父类加载器 扩展类加载器加载 ,扩展类加载器又会通过其父加载器:根加载器(启动类加载器)加载 ,如果根加载器加载不到 ,就扩展类加载器加载 ,如果加载到,则返回,否则 由 应用加载器加载 ,如果应用加载器也加载不到 ,那么就会包ClassNotFoundException,类找不到
      

  5.   

    嘿嘿,放到tomcat 下的lib 中。。