Eclipse中添加PostgreSQL JDBC驱动仍抛出ClassNotFoundException问题排查
解决"java.lang.ClassNotFoundException: org.postgresql.Driver"的常见原因
以下是几种可能导致这个异常的原因及对应的排查/解决方法:
驱动版本与数据库不兼容
确保你使用的PostgreSQL JDBC驱动版本和数据库服务器版本匹配。比如PostgreSQL 10+建议使用42.x系列的驱动jar(如postgresql-42.6.0.jar),老版本数据库可以对应使用pgjdbc4.jar这类适配包。版本差距过大可能导致驱动类无法被识别。Eclipse类路径配置未真正生效
- 右键项目 →
Build Path→Configure Build Path,检查Libraries标签下是否已正确添加驱动jar,且jar文件没有红色叉号(若有则说明jar路径失效,需重新添加)。 - 若用Maven/Gradle管理依赖,确认pom.xml/build.gradle中的依赖配置正确,并且执行了依赖同步操作(比如Maven的
Run As → Maven Install)。 - 执行
Project → Clean清理项目缓存,再重启Eclipse,避免IDE缓存导致配置未更新。
- 右键项目 →
Java模块化(Java 9+)配置遗漏
如果你的项目是模块化项目(存在module-info.java),需要在模块声明中添加:requires org.postgresql.jdbc;注意:新版本PostgreSQL驱动的模块名为
org.postgresql.jdbc,老版本可能不同,需根据驱动jar的module-info确认。同时不要同时将驱动jar添加到类路径和模块路径,二者选其一即可。代码中的驱动加载或连接URL错误
- JDBC 4.2及以上版本不需要手动执行
Class.forName("org.postgresql.Driver")加载驱动,但如果代码中写了这行,务必确保类名拼写完全正确(注意大小写,比如不要写成org.postgresql.driver)。 - 检查数据库连接URL格式是否正确,PostgreSQL的标准格式为:
jdbc:postgresql://localhost:5432/你的数据库名,不要写错协议、主机地址或端口。
- JDBC 4.2及以上版本不需要手动执行
运行配置的类路径未包含驱动
有时候项目Build Path配置了驱动,但Run Configuration的类路径并未同步。右键Run As → Run Configurations,选择你的Java应用配置,切换到Classpath标签,确认驱动jar已在User Entries列表中,若没有则手动添加。
内容的提问来源于stack exchange,提问作者George Charitakis
相关产品推荐
相关产品推荐

