这是我的application.conf:
db.default.driver=org.postgresql.Driver
db.default.url="postgres://postgres:postgres@localhost:5432/postgres"
db.default.user="postgres"
db.default.password= "postgres"
我下载了postgresql-9.1-902.jdbc4.jar。将它作为外部jar添加到我的jar文件中。它仍然显示我发现驱动程序未找到此错误。救命?
答案 0 :(得分:6)
我说PostgreSQL驱动程序毕竟不是在你的类路径上,但是由于你还没有显示错误信息的确切文字,所以很难确定。如果您能够(a)显示完整错误消息和追溯的完全复制和粘贴文本,将会有所帮助; (b)显示完全放置PgJDBC罐子的地方。
考虑添加一些调试代码,在您的应用启动期间打印出System.getProperty("java.class.path")
的内容。还要添加一个类似于以下内容的块:
try {
Class.forName("org.postgresql.Driver")
} catch (ClassNotFoundException ex) {
// Log or abort here
}
这应该告诉你关于课堂知名度的一些信息。由于现代JVM和框架上的类加载的复杂性,它不会是决定性的 - 有太多的类加载器。
答案 1 :(得分:6)
我在我的项目中使用postgresql 9.1-901.jdbc4,我这样配置:
<强> Build.scala:强>
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "project_name"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
// Add your project dependencies here,
"postgresql" % "postgresql" % "9.1-901.jdbc4"
)
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
// Add your own project settings here
)
}
<强> application.conf 强>
db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost:5432/project_name"
db.default.user=postgres
db.default.password=mypw
db.default.partitionCount=1
db.default.maxConnectionsPerPartition=5
db.default.minConnectionsPerPartition=5
然后我在使用它时使用了以下组合:
play clean
play compile
play eclipsify
play ~run
或者,您可以在此之后键入play dependencies
以查看其是否已正确加载。