播放框架中postgresql 9.2 jar的未解析依赖项

时间:2013-02-12 19:37:56

标签: playframework playframework-2.0 dependency-management postgresql-9.2

我正在使用postgresql 9.2和play framework 2.1

我在这里下载了驱动程序:http://jdbc.postgresql.org/download.html(JDBC4 Postgresql驱动程序,版本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驱动程序放在播放目录结构中的以下位置:

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文件?

5 个答案:

答案 0 :(得分:14)

Postgresql驱动程序has not yet hit the Maven central repo的9.2版本,因此您必须使用9.1版本:

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

或者您可以通过将JAR放在myApp/lib文件夹中来使用9.2版本,并从project/Build.scala文件中删除任何依赖项(lib文件夹由sbt自动添加)。< / p>

答案 1 :(得分:13)

我在Repository中找到了这个:

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

答案 2 :(得分:1)

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

我的buid.scala

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

我的application.conf

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

答案 3 :(得分:0)

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

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

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

祝你好运;)

linixinil。

答案 4 :(得分:0)

在档案 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 do postgres。

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