JDBC ClassNotFound

时间:2011-12-28 09:07:39

标签: java mysql jdbc

我正在使用GlassFish制作网络应用。在这个webapp中,我需要能够与MySQL数据库进行通信。我下载了mysql-connector jar文件,并在构建路径中添加了它。但是,当我尝试连接到它时,我收到此错误:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

这是我连接数据库的代码:

public void connect(){
    try {
        Class.forName(dbClass);
        connect = DriverManager.getConnection(dbUrl, "root", "333333");
        statement = connect.createStatement();
        System.out.println("Connected to Database");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

我还附上了截图,以便您可以看到jar已添加到构建路径中:

enter image description here

感谢任何帮助。感谢

3 个答案:

答案 0 :(得分:3)

jdbc驱动程序jar肯定不会导出到服务器。转到problems中的Eclipse视图,您会看到警告jar未导出。右键单击并选择快速修复,然后按“确定”将其导出。

答案 1 :(得分:3)

构建路径用于编译您的应用。在运行时,容器在Web应用程序的WEB-INF / lib文件夹中搜索库。将其从构建路径中删除,将其放在此目录中,Eclipse将自动将其添加到构建路径和运行时类路径中。

请注意,在像glassfish这样的Java EE容器内运行的webapp中,通常将JDBC驱动程序放在Java EE容器类路径中,并配置容器以向应用程序提供数据源(封装连接池)。应用程序使用其部署描述符和JNDI来获取对此数据源的引用。检查glassfish文档。在Webapp的每个请求中打开和关闭连接都不是您应该做的事情。

答案 2 :(得分:1)

将mysql-connector jar粘贴到容器的lib文件夹,即glassfish,

goto glassfish的安装目录,

  

Glasshfish_Directory \的glassfish \ lib中

并将jar粘贴到那里,然后重新启动服务器

通过将jar放在服务器的lib文件夹中,您的jar文件将可供服务器中的所有应用程序访问。如果明天你想部署另一个应用程序,你不必再担心mysql-connect jar了。