当我尝试打开与PostgreSQL数据库的连接时,我添加它来识别驱动程序:
Class.forName("org.postgresql.Driver");
当我运行Netbeans / Eclipse的应用程序时,它运行正常。 我正在使用InnoSetup为此应用程序生成安装程序。安装后,postgresql.jar已经添加到文件夹中,但是我收到错误:
org.postgresql.Driver
java.net.URLClassLoader$1.run(Unknown Source)
java.net.URLClassLoader$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(Unknown Source)
java.lang.ClassLoader.loadClass(Unknown Source)
sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
java.lang.ClassLoader.loadClass(Unknown Source)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Unknown Source)
fourcis.scb.utils.DatabaseUtilities.createDatabaseIfNotExists(DatabaseUtilities.java:19)
fourcis.scb.threads.ThreadOperacoesDatabase.run(ThreadOperacoesDatabase.java:17)
仅在我安装应用程序时才会发生这种情况。当我从IDE运行时,它正常工作。你们知道它会是什么吗?
谢谢!
答案 0 :(得分:0)
从错误堆栈中,它看起来像一个类路径错误。是试图在运行时寻找驱动程序而无法找到它。您可以尝试以下方法之一来查看它是否解决了问题
1)设置Classpath变量以包含包含postgresql.jar
的文件夹2)如果可行,使用类路径信息运行java commpand。 Way to set classpath
答案 1 :(得分:0)
您需要在/lib
文件夹下包含jar文件。您的可执行文件所在的位置。