为Postgres安装JDBC的麻烦

时间:2012-07-24 09:07:18

标签: java linux postgresql jdbc

我想使用JDBC。我的代码:

import java.sql.*;
import java.util.ArrayList;
import java.util.Properties;

public class test {

Connection conn;

public test() throws ClassNotFoundException, SQLException{
    Class.forName("org.postgresql.Driver");
    String url = "jdbc:postgresql://localhost/tb";
    Properties props = new Properties();
    props.setProperty("user","user");
    props.setProperty("password","passwd");
    conn = DriverManager.getConnection(url, props);
    System.out.println(conn.isClosed());
}

public static void main(String[] args) {
    try{
        test t = new test();
    } catch (Exception e){
        e.printStackTrace();        
    }
}
}

我的软:postgres 9.1,java 1.7

我的尝试:

ziel@gad ~/java/test $ ls
postgresql-9.1-902.jdbc4.jar  test.java
ziel@gad ~/java/test $ javac test.java 
ziel@gad ~/java/test $ java -cp postgresql-9.1-902.jdbc4.jar test
Error: Could not find or load main class test

据谷歌的人说,这应该加载驱动程序。我做错了什么?

4 个答案:

答案 0 :(得分:3)

多数民众赞成在您-cp postgresql-9.1-902.jdbc4.jar时,您将jar postgresql-9.1-902.jdbc4.jar定义为类文件的唯一位置,而test类不在此jar中。要解决此问题,您必须执行此cmd java -cp postgresql-9.1-902.jdbc4.jar;. test

答案 1 :(得分:3)

在Linux / Unix / OS X下使用java -cp postgresql-9.1-902.jdbc4.jar:. test

答案 2 :(得分:1)

我猜你使用的是linux操作系统,所以试试这个java -cp postgresql-9.1-902.jdbc4.jar:. test。 在Windows java -cp postgresql-9.1-902.jdbc4.jar;. test

答案 3 :(得分:0)

在Linux机器上执行以下操作

javac -cp '.:postgresql-9.1-901.jdbc4.jar' postgresjavatest.java

java -cp '.:postgresql-9.1-901.jdbc4.jar' postgresjavatest

确保jar文件位于触发命令的同一位置。