播放框架中未解决的 postgresql 9.2 jar 依赖关系

Posted

技术标签:

【中文标题】播放框架中未解决的 postgresql 9.2 jar 依赖关系【英文标题】:unresolved dependency for postgresql 9.2 jar in play framework 【发布时间】:2013-02-12 19:37:56 【问题描述】:

我正在使用带有播放框架 2.1 的 postgresql 9.2

我在这里下载了驱动:http://jdbc.postgresql.org/download.html (JDBC4 Postgresql Driver, Version 9.2-1002)

我的project/Build.scala文件如下:

import sbt._
import Keys._
import play.Project._

object ApplicationBuild extends Build 

  val appName = "myApp"
  val appVersion = "0.1"

  val appDependencies = Seq(
    "postgresql" % "postgresql" % "9.2-1002.jdbc4")

  val main = play.Project(appName, appVersion, appDependencies)

我已经把jdbc驱动放在play目录结构中的以下位置:

myApp/lib/postgresql-9.2-1002.jdbc4.jar
myApp/lib/9.2-1002.jdbc4.jar
myApp/lib/postgresql/postgresql/9.2-1002.jdbc4.jar

但是,使用 play run 运行应用程序时,我收到以下错误并且构建失败:

[warn]  module not found: postgresql#postgresql;9.2-1002.jdbc4              
[warn] ==== local: tried
[warn]   /home/ubuntu/play-2.1.0/repository/local/postgresql/postgresql/9.2-1002.jdbc4/ivys/ivy.xml
[warn] ==== Typesafe Releases Repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/postgresql/postgresql/9.2-1002.jdbc4/postgresql-9.2-1002.jdbc4.pom
[warn] ==== Typesafe Snapshots Repository: tried
[warn]   http://repo.typesafe.com/typesafe/snapshots/postgresql/postgresql/9.2-1002.jdbc4/postgresql-9.2-1002.jdbc4.pom
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/postgresql/postgresql/9.2-1002.jdbc4/postgresql-9.2-1002.jdbc4.pom
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::                       
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: postgresql#postgresql;9.2-1002.jdbc4: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
sbt.ResolveException: unresolved dependency: postgresql#postgresql;9.2-1002.jdbc4: not found

关于如何获得 Play 的任何提示!识别我的 jar 文件?

【问题讨论】:

【参考方案1】:

Postgresql驱动has not yet hit the Maven central repo的9.2版本,所以你必须使用9.1版本:

"postgresql" % "postgresql" % "9.1-901-1.jdbc4"

或者您可以使用 9.2 版本,方法是将 JAR 放入您的 myApp/lib 文件夹并从您的 project/Build.scala 文件中删除任何依赖项(lib 文件夹由 sbt 自动添加)。

【讨论】:

是的,我很傻。如果我想手动将它包含在myApp/lib 中,我需要从Build.scala 中删除依赖关系。干杯【参考方案2】:

我在Repository找到了这个:

"org.postgresql" % "postgresql" % "9.2-1003-jdbc4"

【讨论】:

谢谢!这对我很有用:) 新版本也有【参考方案3】:

当我将 9.2 版本更改为 9.1 版本时,它可以完美运行。感谢您的回答nico_ekito

我的buid.scala

  val appDependencies = Seq(
  "postgresql" % "postgresql" % "9.1-901-1.jdbc4",
  jdbc,
  javaCore,
  javaEbean
  )

我的应用程序.conf

db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost:5432/DBName"
db.default.user=postgres
db.default.password=123456

【讨论】:

【参考方案4】:

我使用以下链接中的信息解决了问题:

https://github.com/tminglei/slick-pg/issues/1

我希望你觉得它有用!! :)

祝你好运;)

linixinil.

【讨论】:

请在此处描述解决方案——不要只指向 URL。【参考方案5】:

application.conf文件中:

 db.default.driver=org.postgresql.Driver
 db.default.url="jdbc:postgresql://localhost:5432/dataBaseName"
 db.default.user=user
 db.default.password="password"

在您的主项目中创建意大利面 /lib,并应添加 .jar 做 postgres。

下载here,然后重新加载项目。

【讨论】:

以上是关于播放框架中未解决的 postgresql 9.2 jar 依赖关系的主要内容,如果未能解决你的问题,请参考以下文章

在 postgreSQL 9.2 上编辑 postgresql.conf 文件?

Postgresql 9.2 错误与 group by 未出现在 postgresql 12 中

如何在 PostgreSQL 9.2 中分析 plpgsql 函数

PostgreSQL 9.2 服务不断失败

将 CSV 文本数组导入 PostgreSQL 9.2

PostgreSQL 9.2 归档恢复后最后重放的 WAL