我正在使用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已添加到构建路径中:
感谢任何帮助。感谢
答案 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了。