【发布时间】:2020-07-07 20:55:28
【问题描述】:
我正在尝试连接到本地主机上的数据库。 Mysql 正在运行,数据库名称是employees。我确认端口、用户名和密码正确。
java、class 和 jar 文件在同一个文件夹中。我尝试在系统环境变量中将 jar 文件添加到我的 CLASSPATH 中,并尝试使用 -cp 添加它,如下所示。
javac -cp . relearnjdbc.java
javac -cp ./mysql-connector-java-8.0.20.jar relearnjdbc.java
javac -cp *.jar relearnjdbc.java
我还尝试将文件分离到它们自己的文件夹 src、class 和 bin 中。
javac -cp ../bin -d ../class relearnjdbc.java
这是我的代码
public class relearnjdbc {
public static String url = "jdbc:mysql://localhost:3306/employees";
public static String username = "root";
public static String password = "root";
public static void main(String[] args){
System.out.println("Connecting to DB...");
try{
//Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver").newInstance();
//Connection connection = DriverManager.getConnection(url, username, password);
DriverManager.getConnection(url, username, password);
System.out.println("Connected!");
}catch (Exception e){
throw new IllegalStateException("cannot connect to DB ", e);
}
}
}
这些给出 java.lang.ClassNotFoundException。我知道它已被弃用,但它出现在很多类似问题的答案中。
Class.forName("com.mysql.jdbc.Driver").newInstance();
Class.forName("com.mysql.jdbc.Driver");
我没有使用 IDE、tomcat、netbeans、apache、phpadmin 或其他任何东西。据我所知,许多其他提出此问题的人正在使用其中之一,或者他们的类路径中没有 jar 文件。
【问题讨论】:
-
您只表明您在编译时指定了类路径,但是您如何运行您的Java应用程序?我的猜测是您在 运行 Java 应用程序时没有指定类路径。
-
@MarkRotteveel 我尝试仅在编译时指定。我尝试将它添加到我的环境变量中并指定运行时间,以及所有三个。将其添加到环境变量中,并在编译运行时使用-cp。