我的日食计划工作正常。但是,当我尝试将其编译为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+"");
答案 0 :(得分:0)
这里有两个潜在的问题:类路径不正确,使用JDBC 3驱动程序(而不是JDBC 4驱动程序)而没有显式加载Driver
- 类。
Dependent Jars不应该包含在你自己的jar中,它们应该放在你自己的jar旁边,然后在Class-Path
的{{1}}中指定。
例如你的布局可能是:
MANIFEST.MF
然后your.jar
postgresql-9.3-1101.jdbc3.jar
的{{1}}应该有一个条目:
MANIFEST.MF
有关详细信息,请参阅this tutorial。
您使用的驱动程序是JDBC 3驱动程序。仅在JDBC 4(Java 6)中引入了驱动程序自动加载。 JDBC 4自动加载由驱动程序工作,声明其驱动程序类是什么,可能是JDBC 3驱动程序没有该文件。您的代码已注释掉your.jar
,并且无法加载驱动程序。
如果您使用的是Java 6或更高版本,请升级到JDBC 4(Java 6)或JDBC 4.1(Java 7)驱动程序。