我想使用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
据谷歌的人说,这应该加载驱动程序。我做错了什么?
答案 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文件位于触发命令的同一位置。