找不到 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 标头中添加其他内容?我当前的标题:如果您因“缺少工件”错误而来到这里,这对我有用:
<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 驱动程序的主要内容,如果未能解决你的问题,请参考以下文章