尝试在java中使用mysql时ClassNotFoundException

时间:2011-04-06 20:39:11

标签: java mysql

我正在尝试在我的java应用程序中使用外部mysql数据库,但我不断获得java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 当应用程序尝试建立连接时。

这是我用来打开连接的代码。 造成这种情况的原因是什么?

// Post: A connection is opened if the current connection is not valid
    private static boolean open() throws SQLException {
        // If connection is still valid, return without doing anything
        try {
            if (connection != null && connection.isValid(1)) {
                return true;
            }
        }
        catch (SQLException e1) {
            close();
        }

        // Start connecting
        String driver   = "com.mysql.jdbc.Driver";
        String url      = "jdbc:mysql://mysql.starredout.com/" + database;
        String user     = "starredout";     
        String password = "starredout";
        try {
            Class.forName(driver).newInstance();
        }
        catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        connection  = DriverManager.getConnection(url,user,password);
        return true;
    }

    // Post: If a connection was open, it is closed
    private static void close() {
        try {
            if (connection == null || connection.isClosed())
                return;
            connection.close();
        }
        catch (Exception e) {
            e.printStackTrace();
            System.out.println(e.toString());
        }   
    }

3 个答案:

答案 0 :(得分:2)

connector jar可能不在您的类路径中。如果您通过命令行启动应用程序,您应该能够使用-classpath标志通过setting the classpath手动添加它,并使用路径/到/ / jar /位置跟随它。

如果您的代码在Java EE应用程序服务器等中运行,则类路径会变得有点复杂,您需要提供更多详细信息。

答案 1 :(得分:1)

该错误意味着它无法找到您尝试使其运行的课程 这可能是因为您忘记将驱动程序库链接到构建路径而引起的? 该库可能存储在.jar文件中,因此您必须在类路径中提及该jar。

如果您使用eclipse,只需右键单击您的项目==>构建路径==>配置构建路径,然后单击Libraries选项卡,再单击Add JARs ...并选择要包含在类路径中的jar 在其他IDE中它应该是一个类似的过程

答案 2 :(得分:0)

您需要抓住mySql Connector jar并将其放在类路径中。您可以查看文档here