使用-class路径在linux终端中运行java程序

时间:2010-12-29 07:42:08

标签: java postgresql

我一直在尝试使用postgresql类路径运行以下程序

class Test{
  public static void main(String[] args){
        try {
            Class.forName("org.postgresql.Driver");
        } catch (ClassNotFoundException cnfe) {
            System.err.println("Couldn't find Postgresql driver class!");
        }
  }
}

使用javac命令编译好的程序,但是我很难用postgresql类路径运行它。我在与文件相同的目录中有“postgresql-9.0-801.jdbc4.jar”,我尝试了以下内容,但是没有使用它们

java -classpath ./postgresql-9.0-801.jdbc4.jar Test
java -classpath postgresql-9.0-801.jdbc4.jar Test
java -classpath "postgresql-9.0-801.jdbc4.jar" Test

我做错了什么?

问候!

3 个答案:

答案 0 :(得分:6)

指定类路径时,需要确保它包含应用程序所需的所有类文件,包括您自己创建的类文件。假设Test.class与postgres Jar文件一起在当前目录中,您需要以下内容:

java -classpath postgresql-9.0-801.jdbc4.jar:. Test

有关详细信息,请参阅Java Glossary

BM〜

答案 1 :(得分:3)

错误是什么? ClassNotFoundExceptionTest图书馆的postgres?如果是前者,那是因为你需要在类路径中添加Test。

假设您在Test.class和postgres jar存在的同一目录中,

java -classpath .:postgresql-9.0-801.jdbc4.jar Test

答案 2 :(得分:0)

command :java -cp .;postgresql-9.0-801.jdbc4.jar Test

jar和类都在运行命令的同一目录中 同时将您的课程定义设为公开!!