我正在尝试在我的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());
}
}
答案 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