gpt4 book ai didi

java - 找不到适用于 jdbc :postgresql://localhost:5432/gis 的合适驱动程序

转载 作者:行者123 更新时间:2023-12-01 17:36:45 25 4
gpt4 key购买 nike

过去 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 -jar spigot-1.15.2.jar

  • 将 jdbc 文件内部直接添加到我的 jar 文件

  • 将 jdbc 文件添加为 IntelliJ 项目中的依赖项

  • 切换到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,那么除了您的插件类之外,您应该在其中包含驱动程序的类。

请告诉我这是否解决了您的问题。

关于java - 找不到适用于 jdbc :postgresql://localhost:5432/gis 的合适驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61022244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com