每当我将我的项目构建为 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/