感谢您的帮助,我在这里是一个完整的菜鸟但是想要学习。 以下代码只是尝试创建与数据库的连接。我收到了这个错误:
java.lang.ClassNotFoundException: org.postgres.Driver at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at CreateDB.main(CreateDB.java:11) java.lang.ClassNotFoundException: org.postgres.Driver
在线研究我遇到的解决方案是检查库是否已添加到构建路径。我可以确认我(我认为)。这样做我右键点击了项目 - >属性 - > Java构建路径 - >外部JARS并导航到postgresql - 42.41.4..jar,它位于" ... \ eclipse-workspace \ libraries \" 我可以看到该库是在项目中的引用库下添加的。 不是线索现在我卡住了。任何帮助都是真的很感激。
我在这里学习https://www.tutorialspoint.com/postgresql/postgresql_java.htm
import java.sql.Connection;
import java.sql.DriverManager;
public class CreateDB {
public static void main(String Args[]) {
Connection c = null;
try {
Class.forName("org.postgres.Driver");
c = DriverManager.getConnection("jdbc.postgresql://localhost:1080/VEM", "postgres", "Diablo12" ); //creates connection with U&P
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getClass().getName() +": " + e.getMessage());
System.exit(0);
}
System.out.println("Database opened successfully");
}
}
答案 0 :(得分:1)
正确的驱动程序名称为:org.postgresql.Driver
。所以你的代码应该是这样的:
import java.sql.Connection;
import java.sql.DriverManager;
public class CreateDB {
public static void main(String args[]) {
Connection c = null;
try {
Class.forName("org.postgresql.Driver");
c = DriverManager.getConnection("jdbc.postgresql://localhost:1080/VEM", "postgres", "Diablo12" ); //creates connection with U&P
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getClass().getName() +": " + e.getMessage());
System.exit(0);
}
System.out.println("Database opened successfully");
}
}
false驱动程序名称会导致java抛出ClassNotFoundException
,因为在类路径中找不到具有传递名称的类。
从Java 6开始,不再需要通过Class.forName()
加载驱动程序,例如a_horse_with_no_name在他的评论中指出。