找不到 Maven 依赖项的 Postgresql 驱动程序

Posted

技术标签:

【中文标题】找不到 Maven 依赖项的 Postgresql 驱动程序【英文标题】:Postgresql driver not found for maven dependency 【发布时间】:2014-04-15 01:32:24 【问题描述】:

我正在使用 maven 运行一个 spring 项目,并且我正在尝试使用 postgresql。我已将依赖添加到 pom.xml,但在 tomcat 启动时,我收到以下错误:

java.lang.ClassNotFoundException: org.postgresql.Driver

pom.xml 依赖:

<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <version>9.3-1101-jdbc41</version>
</dependency>

Maven 似乎没有下载 jar,因此找不到 Driver 类。有什么想法吗?

【问题讨论】:

您在构建过程中是否收到警告?你在代理后面吗?您是否检查过工件是否已下载? 【参考方案1】:

如果您使用 intellj,什么对我也有用: 右键单击 pom.xml->Maven->重新导入 不知道为什么它不下载复制粘贴的工件。

【讨论】:

在我的例子中是:右键单击 pom.xml ->Maven->重新加载项目【参考方案2】:

当我把它放在我的 pom 中时,工件就会被下载。也许您应该清理 maven 存储库缓存或手动删除文件夹并重试。

【讨论】:

我在发布问题之前尝试过。我仍然收到类未找到异常。我是否需要在 pom.xml 标头中添加其他内容?我当前的标题: maven.apache.org/POM/4.0.0" xmlns:xsi="w3.org/2001/XMLSchema-instance" xsi:schemaLocation="maven.apache.org/POM/4.0.0 maven.apache.org/maven-v4_0_0.xsd "> 那么 jar 是不存在还是没有加载? 是的,jar 不存在。没有下载【参考方案3】:

如果您因“缺少工件”错误而来到这里,这对我有用:

    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>9.4.1212</version>
    </dependency>

对于 PostgreSQL 10,我使用这个:

       <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.1.4</version>
        </dependency>

【讨论】:

【参考方案4】:

Maven 没有识别我添加到 pom.xml 中的新依赖项,因此我通过 xml 中的“依赖项视图”添加了它,并且成功了。谢谢你的回答。

【讨论】:

【参考方案5】:

您需要将 jar 的副本放在 tomcat/lib 文件夹中。

【讨论】:

Tomcat 管理连接?不是。Tomcat 是一个 servlet 引擎,但不是 Glassfish、JBoss、Weblogic 等应用服务器。 @khmarbaise 感谢您的更正。我更新了回复。 这不会改变任何事情,因为在这种情况下最好将驱动程序放入将被部署的生成的war文件中。就是这样。

以上是关于找不到 Maven 依赖项的 Postgresql 驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 部署 - 找不到本地依赖项的模块

Maven找不到依赖包

m2eclipse 找不到 Maven 依赖项,找不到工件

PSQLException:在此 ResultSet 中找不到列名 start_value

Maven 找不到依赖项

jboss-common-core maven 依赖项