【发布时间】:2016-03-18 06:19:32
【问题描述】:
我遇到了很多像this 和this 这样的问题,这些问题和我的几乎一样,但无法帮助我解决我的问题。因此,我将其发布以寻求帮助。
我试图将 JDBC 驱动程序与 PostgreSQL 一起使用并遵循this tutorial。
我在 Eclipse 上尝试了相同的 Java 程序,并尝试从终端进行编译。将postgresql-9.4-1206-jdbc4.jar放入Eclipse的library文件夹后,在IDE中编译运行完美。
现在我已将 JDBCExample.java 和 postgresql-9.4-1206-jdbc4.jar 放在同一个文件夹 test 中。
但是当我在我的终端上尝试这个时,
cd test
javac JDBCExample.java
java JDBCExample -cp postgresql-9.4-1206-jdbc4.jar
我明白了
-------- PostgreSQL JDBC Connection Testing ------------
Where is your PostgreSQL JDBC Driver? Include in your library path!
java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:191)
at JDBCExample.main(JDBCExample.java:14)
我也尝试将第二个命令重写为java JDBCExample -cp .:postgresql-9.4-1206-jdbc4.jar ,但没有任何变化。
这里有什么问题?
【问题讨论】:
-
颠倒顺序,
-cp ...在JDBCExample之前;您当前正在将参数-cp和postgresql-9.4-1206-jdbc4.jar传递给您的应用程序而不是 Java。 -
当我这样做
java -cp postgresql-9.4-1206-jdbc4.jar JDBCExample时,我收到Could not find or load main class JDBCExample错误。 -
@zorro_blue 因为
-cp选项替换了类路径,所以您还必须指定在哪里可以找到JDBCExample.class,例如-cp .;postgresql-9.4-1206-jdbc4.jar包含本地目录。 -
@Andreas 喜欢这个
java -cp .;postgresql-9.4-1206-jdbc4.jar ~/test/JDBCExample吗?这给了我一个找不到命令的错误:( -
@zorro_blue:如果您不在 Windows 下,请用冒号替换分号。
标签: java eclipse postgresql jdbc driver