为Postgres安装JDBC时遇到问题

问题描述:

我想使用JDBC。我的代码:为Postgres安装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

我尝试:

[email protected] ~/java/test $ ls 
postgresql-9.1-902.jdbc4.jar test.java 
[email protected] ~/java/test $ javac test.java 
[email protected] ~/java/test $ java -cp postgresql-9.1-902.jdbc4.jar test 
Error: Could not find or load main class test 

据来自谷歌的人本应加载驱动程序。我究竟做错了什么?

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

那是因为当你做-cp postgresql-9.1-902.jdbc4.jar,您定义的罐子postgresql-9.1-902.jdbc4.jar作为类文件的唯一位置和类test不在此jar。要解决这个问题,你必须执行此CMD java -cp postgresql-9.1-902.jdbc4.jar;. test

+0

如果我做'java -cp'postgresql-9.1-902.jdbc4.jar ;.'测试'我得到相同的:'错误:无法找到或加载主类测试'。 – zie1ony 2012-07-24 09:28:02

+0

你在'〜/ java/test'中有文件'test.class'吗?你为什么在你的cmd中使用简单的引号'''? – mabbas 2012-07-24 09:29:11

+1

':'insted of';' – zie1ony 2012-07-24 09:30:13

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

,可执行以下Linux机器上

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

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

确保jar文件是在哪里命令发射相同的位置。

+0

OP有** postgresql-9.1-902.jdbc4.jar **。为什么你在任何地方发布这个答案? – benka 2014-01-29 10:21:31