Postgres:找不到适合jdbc JAR文件的驱动程序

时间:2014-04-23 21:14:38

标签: postgresql jdbc jar command connector

我的日食计划工作正常。但是,当我尝试将其编译为JAR文件时,我收到此错误:

  

java.sql.SQLException:找不到合适的jdbc驱动程序:postgresql://10.0.0.19:   5432 / fussballverein

我将连接器添加到我的java文件并将它们导出到jar文件中,是吗?

这是我的jar文件的样子:

  

MyModel.class

     

MyModel.java

     

MyControll.class

     

MyControll.java

     

Mypanel.class

     

Mypanel.java

     

的PostgreSQL-9.3-1101.jdbc3.jar

     

Myframe.class

     

Myframe.java

当我尝试从命令提示符运行它时,它看起来像这样:

  

java -jar Gebauer_Laurenz.jar 10.0.0.19用户名密码fussballverein

我从以前收到错误。这是我的代码;如果有人可以帮忙的话会很棒。

public void auführen () throws SQLException, ClassNotFoundException{
    //Connection Objekt
    Connection con = null;
    System.out.println(server+""+db+""+user+""+pw);
    try {
        //Class.forName("org.postgresql.Driver");
    //In DriverManager werden die Verbindungsdaten eingetragen so das eine Verbindung hergestellt werden kann.
            con = DriverManager.getConnection("jdbc:postgresql://"+server+":5432/"+db+"",""+user+"",""+pw+"");

1 个答案:

答案 0 :(得分:0)

这里有两个潜在的问题:类路径不正确,使用JDBC 3驱动程序(而不是JDBC 4驱动程序)而没有显式加载Driver - 类。

问题1:类路径

Dependent Jars不应该包含在你自己的jar中,它们应该放在你自己的jar旁边,然后在Class-Path的{​​{1}}中指定。

例如你的布局可能是:

MANIFEST.MF

然后your.jar postgresql-9.3-1101.jdbc3.jar 的{​​{1}}应该有一个条目:

MANIFEST.MF

有关详细信息,请参阅this tutorial

问题2:JDBC 3驱动程序

您使用的驱动程序是JDBC 3驱动程序。仅在JDBC 4(Java 6)中引入了驱动程序自动加载。 JDBC 4自动加载由驱动程序工作,声明其驱动程序类是什么,可能是JDBC 3驱动程序没有该文件。您的代码已注释掉your.jar,并且无法加载驱动程序。

如果您使用的是Java 6或更高版本,请升级到JDBC 4(Java 6)或JDBC 4.1(Java 7)驱动程序。