我已经花了3个小时试图让我的Java程序与我的Postgres服务器接口。我无法通过错误消息“没有找到适合jdbc:postgresql://localhost:5432/gis的驱动程序”。这是一个Bukkit插件,我正在使用IntelliJ IDEA。
代码:
try
{
//Class.forName("org.postgresql.Driver");
c = DriverManager.getConnection("jdbc:postgresql://localhost:5432/gis");
}
catch(Exception e)
{
getLogger().info(e.getMessage());
}
我尝试过的事情:
>
java-cp./path/to/postgresjdbc.jar-jarspigot-1.15.2.jar
直接将jdbc文件内部添加到jar文件中
在IntelliJ项目中添加jdbc文件作为依赖项
切换到maven,并将以下内容放入pom.xml:
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.1</version>
</dependency>
</dependencies>
我无法克服我发布的错误。在这一点上,它占据了我整个晚上。
在开发使用MySQL数据库的Bukkit/Spigot插件时,我曾多次遇到这个问题。Postgres的过程应该是相同的。
通常,当您的插件找不到PostgresqlJDBC驱动程序时会发生此错误。您有两个解决方法:
选项1.将.jar添加到插件的类路径:
建议您在plugins/lib
中设置库,因为这样您的服务器就不会尝试将库作为Bukkit插件加载。通过在pom.xml
中添加此配置,将前缀lib/
添加到类路径:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath> <-- don't know if this is needed -->
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
然后确保将您的postgresjdbc。jar位于插件文件夹中名为lib的文件夹中。
选项2。直接在jar中添加依赖项:
请注意,此选项将增加插件的jar大小。
这可以通过Maven的组装插件完成:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>your.main.class</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
如果您使用7-zip之类的文件压缩器打开插件的jar,您应该在其中包含驱动程序类,而不是插件类。
如果这解决了你的问题,请告诉我。
我尝试了几个教程,我可以得到我的手,但他们都导致相同的错误: 18:28:24,583INFO[stdout](默认任务-1)数据库错误:找不到适合JDBC的驱动程序:postgresql://localhost:5432/postgres 我已经按照本教程配置了连接:如何使用WILDFLY设置POSTGRESQL数据源 并尝试了几种解决问题的方法。我尝试了管理控制台和配置文件。最常见的解决方案是
我按照java程序编写 我编译了这个程序并创建了jar文件 Jar具有以下清单文件 还包含文件 /folder/postgresql-8.4-703.jdbc3.jar.我通过命令启动了Sample.jar 结果我收到了以下信息 我从地址为192.168.1.10的主机启动了该文件,在主机192.168.1.8上它正常运行。帮助消除错误。
实际上,我们在某些功能上没有使用任何数据库池,我们使用JDBC连接postgres db,目前系统在生产中,它工作没有任何问题,但突然我们遇到了以下错误。 我们的配置很好,因为我们昨天才遇到这个错误。 有人能猜到我们的生产服务器上发生了什么吗?
我一直在尝试为一个学校项目设置自己的rest api。我决定使用MySQL作为数据库,我想把它和我的Web服务连接起来,但显然我总是收到这样的错误信息:java。sql。SQLException:未找到适合jdbc的驱动程序:mysql://localhost:3306/userdatenbank 当我看到错误消息时,它还告诉我无法执行此代码: 我不知道为什么这种事一直发生。。。MySQL Jav
我的java代码如下: 我从servlet调用这段代码。我正在使用eclipse,并添加了mariadb-java-client-2.4.2。jar作为构建路径中的外部jar。它应该能工作,但不能。 更新:首先,我在一个新的EclipseJava项目中测试了我的代码,它工作得很好。其次,我尝试从另一个类的主方法调用相同的方法,数据库连接也可以完美地工作。所以我想我的问题是因为我从Servlet调用
我是新的java和我试图使简单的身份验证界面。 1/MyDBConnection.java 2/Crud.java 在我的userDao中。JAVA