Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从终端编译java程序时的JDBC驱动程序问题_Java_Eclipse_Postgresql_Jdbc_Driver - Fatal编程技术网

从终端编译java程序时的JDBC驱动程序问题

从终端编译java程序时的JDBC驱动程序问题,java,eclipse,postgresql,jdbc,driver,Java,Eclipse,Postgresql,Jdbc,Driver,我问了很多问题,比如,和我的问题差不多,但都不能帮助我解决问题。因此,我将其发布以寻求帮助。 我试图将JDBC驱动程序与PostgreSQL结合使用,并遵循了以下步骤。 我在Eclipse上尝试了相同的Java程序,并尝试从终端进行编译。将postgresql-9.4-1206-jdbc4.jar放入Eclipse中的library文件夹后,它在IDE中编译并运行得非常完美。 现在,我将JDBCExample.java和postgresql-9.4-1206-jdbc4.jar放在同一个测试文件

我问了很多问题,比如,和我的问题差不多,但都不能帮助我解决问题。因此,我将其发布以寻求帮助。
我试图将JDBC驱动程序与PostgreSQL结合使用,并遵循了以下步骤。 我在Eclipse上尝试了相同的Java程序,并尝试从终端进行编译。将postgresql-9.4-1206-jdbc4.jar放入Eclipse中的library文件夹后,它在IDE中编译并运行得非常完美。 现在,我将JDBCExample.java和postgresql-9.4-1206-jdbc4.jar放在同一个测试文件夹中。 但是当我试着在我的终端用这个

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)
我还尝试将第二个命令重写为
javajdbceample-cp.:postgresql-9.4-1206-jdbc4.jar
,但没有任何更改。
这里怎么了?

如评论中所述,将呼叫设置为

java -cp .:postgresql-9.4-1206-jdbc4.jar ~/test/JDBCExample

工作。

如评论中所述,将呼叫设置为

java -cp .:postgresql-9.4-1206-jdbc4.jar ~/test/JDBCExample

工作。

颠倒顺序,
-cp…
JDBCExample
之前;您当前正在将参数
-cp
postgresql-9.4-1206-jdbc4.jar
传递给您的应用程序,而不是Java。当我这样做
Java-cp-postgresql-9.4-1206-jdbc4.jar JDBCExample
时,我发现
无法找到或加载主类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下,请将分号替换为冒号。将顺序颠倒,
-cp…
jdbc示例
之前;您当前正在将参数
-cp
postgresql-9.4-1206-jdbc4.jar
传递给您的应用程序,而不是Java。当我这样做时,
Java-cp postgresql-9.4-1206-jdbc4.jar JDBCExample
,我发现
无法找到或加载主类JDBCExample
错误。@zorro_blue因为
-cp
选项替换了类路径,所以您还必须指定在哪里找到
JDBCExample.class
,例如
-cp;
,以包括本地目录。@Andreas Lik这个
java-cp;postgresql-9.4-1206-jdbc4.jar~/test/JDBCExample
?给我一个命令未找到错误:(@zorro_blue:如果你不在Windows下,用冒号替换分号。