【问题标题】:Postgresql driver not found for maven dependency找不到 Maven 依赖项的 Postgresql 驱动程序
【发布时间】: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 类。有什么想法吗?

【问题讨论】:

  • 您在构建过程中是否收到警告?你在代理后面吗?您是否检查过工件是否已下载?

标签: spring postgresql maven dependencies driver


【解决方案1】:

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

【讨论】:

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

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

【讨论】:

【解决方案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文件中。就是这样。
      猜你喜欢
      • 2012-06-03
      • 2015-12-14
      • 2013-01-01
      • 2020-09-16
      • 2016-10-01
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多