postgresql - java.lang.ClassNotFoundException : org. postgresql.驱动程序

标签 postgresql netbeans build jar driver

每当我将我的项目构建为 jar(通过 NetBeans)时,它似乎不包含 postgresql 驱动程序库。我记得以前在以前版本的 NetBeans 和驱动程序上没有遇到过任何问题。我 cmd 运行类似的东西:

C:\Users\Username>java -jar "C:\Users\Username\Documents\NetBeansProjects\OrdersImport\dist\OrdersImport.jar" C:\orders\sometextfile.txt

是否应该在此行中包含一些额外的内容以添加 postgresql-9.0-801.jdbc4.jar?我确实在项目内部包含了库到 lib,如果我直接从 NetBeans 运行它,它确实可以正常工作。我看过我以前的项目,它确实有效,似乎一切都一样,可悲的是我不记得了,请帮忙。

最佳答案

在您的 MANIFEST.MF 文件中应该有一个引用 Postgres 驱动程序的条目。并且需要复制驱动程序,以便可以从真正的 jar 文件位置访问它。

因此您的 MANIFEST.MF 需要包含如下内容:

类路径:lib/postgresql-9.0-801.jdbc4.jar

如果 JDBC 驱动程序是您的 NetBeans 项目的一部分,NetBeans 应该已将其复制到 dist/lib。

如果您不想(或不能)更改 list 文件,则需要在命令行上手动引用所有需要的库。但是你不能再使用 -jar 选项了:

java -cp postgresql-9.0-801.jdbc4.jar;OrdersImport.jar com.mypackage.MyMain C:\orders\sometextfile.txt

请记住,使用-cp 或-classpath 时必须指定主类

关于postgresql - java.lang.ClassNotFoundException : org. postgresql.驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5337859/

相关文章:

android - Android Build在 ':app:dexDebug'失败,出现异常(库和应用程序项目)

go - 找不到包 "google/protobuf"

sql - 需要帮助编写 SQL 触发器

python - psycopg2.extras.DictCursor 不在 postgres 中返回字典

java - Web 应用程序如何工作?

swift - Xcode Swift Language Version,未指定和版本之间有什么不同?

ruby-on-rails - ActiveRecord 查询中的日期时间算法 (PostgreSQL)

ruby-on-rails - 高级 ActiveRecord 查询 : Filter Sum through Nested Associations

java - servlet oracle数据库连接示例

xml - JSF 2.1 + Tomcat 8 - 部署错误