2017-02-24 6 views
1

Play Frameworkバージョン2.5で開発しようとしていますが、データベース接続を正しく取得できません。私はORMとしてEbeanプラグイン3.0.2でH2データベースを使用しています。私は、Play FrameworkのWebサイトや多くの投稿にある情報に基づいて、application.confのエントリにいくつかのオプションを試しました。私のコンフィギュレーションファイルにエントリとエラートレースの下に見つけて、私を助けてください: Playフレームワーク2.5でのEbeanおよびH2設定の問題

 **Application.conf** 

     play.db { 
     # The combination of these two settings results in "db.default" as the 
     #default JDBC pool: 
     config = "db" 
     default = "default" 
     prototype { 
      # Sets a fixed JDBC connection pool size of 50 
      #hikaricp.minimumIdle = 50 
      #hikaricp.maximumPoolSize = 50 

       } 
     } 

    db { 
    default.hikaricp.dataSourceClassName = org.h2.jdbcx.JdbcDataSource 
    default.driver = org.h2.Driver 
    default.url = "jdbc:h2:mem:play" 
    default.username = sa 
    default.password = "" 
    ebean.default = ["models.*"] 
    #play.ebean.default.dataSource = default 

     default.logSql=true 
    } 
    **Plugins.sbt** 

    addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.10") 

    // Web plugins 
    addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0") 
    addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.0") 
    addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.4") 
    addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.8") 
    addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.1") 
    addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.1.0") 


    addSbtPlugin("org.irundaia.sbt" % "sbt-sassify" % "1.4.6") 
    addSbtPlugin("com.typesafe.sbt" % "sbt-play-enhancer" % "1.1.0") 
    enablePlugins(PlayEbean). 
    addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.2") 
    addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % 

    "5.0.1") 

    **Build.sbt** 




    name := """Institut""" 

    version := "1.0-SNAPSHOT" 

    lazy val Institut = (project in 
    file(".")).enablePlugins(PlayJava,PlayEbean) 

    scalaVersion := "2.11.7" 

     libraryDependencies ++= Seq(
     javaJdbc, 
     cache, 
     javaWs, 
     evolutions 

    ) 



    **Console output** 



    [info] application - Creating Pool for datasource 'ebean' 
    [error] c.z.h.HikariConfig - HikariPool-1 - dataSource or 
    dataSourceClassName 
    or jdbcUrl is required. 
    [info] application - Creating Pool for datasource 'ebean' 
    [error] c.z.h.HikariConfig - HikariPool-2 - dataSource or 
    dataSourceClassName 
    or jdbcUrl is required. 
    [info] application - Creating Pool for datasource 'ebean' 
    [error] c.z.h.HikariConfig - HikariPool-3 - dataSource or 
    dataSourceClassName 
    or jdbcUrl is required. 
    [info] application - Creating Pool for datasource 'ebean' 
    [error] c.z.h.HikariConfig - HikariPool-4 - dataSource or 
    dataSourceClassName 
    or jdbcUrl is required. 
    [error] application - 

    ! @736eodoo7 - Internal server error, for (GET) [/] -> 

    play.api.Configuration$$anon$1: Configuration error[Cannot connect to 
    database [ebean]] 
    at play.api.Configuration$.configError(Configuration.scala:154) 
    at play.api.Configuration.reportError(Configuration.scala:806) 
    at 
    play.api.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:48) 
    at playi.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:42) 
    at scala.collection.immutable.List.foreach(List.scala:381) 
    at play.api.db.DefaultDBApi.connect(DefaultDBApi.scala:42) 
    at play.api.db.DBApiProvider.get$lzycompute(DBModule.scala:72) 
    at play.api.db.DBApiProvider.get(DBModule.scala:62) 
    at play.api.db.DBApiProvider.get(DBModule.scala:58) 
    at    
    Caused by: play.api.Configuration$$anon$1: Configuration 
    error[dataSource or 
    dataSourceClassName or jdbcUrl is required.] 
    at play.api.Configuration$.configError(Configuration.scala:154) 
    at play.api.PlayConfig.reportError(Configuration.scala:996) 
    at play.api.db.HikariCPConnectionPool.create(HikariCPModule.scala:70) 
    at play.api.db.PooledDatabase.createDataSource(Databases.scala:199) 
    at 
    play.api.db.DefaultDatabase.dataSource$lzycompute(Databases.scala:123) 
    at play.api.db.DefaultDatabase.dataSource(Databases.scala:121) 
    at play.api.db.DefaultDatabase.getConnection(Databases.scala:142) 
    at play.api.db.DefaultDatabase.getConnection(Databases.scala:138) 
    at 
    play.api.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:44) 
    at 
    play.api.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:42) 
    Caused by: java.lang.IllegalArgumentException: dataSource or 
    dataSourceClassName or jdbcUrl is required. 
    at com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:786) 
    at play.api.db.HikariCPConfig.toHikariConfig(HikariCPModule.scala:141) 
    at    

    at scala.util.Try$.apply(Try.scala:192) 
    at play.api.db.HikariCPConnectionPool.create(HikariCPModule.scala:54) 
    at play.api.db.PooledDatabase.createDataSource(Databases.scala:199) 
    at 
    play.api.db.DefaultDatabase.dataSource$lazycompute(Databases.scala:123) 
    at play.api.db.DefaultDatabase.dataSource(Databases.scala:121) 
    at play.api.db.DefaultDatabase.getConnection(Databases.scala:142) 

私はdataSourceClassNameはを追加することが決議されたH2構成、同じエラーメッセージを持っていた、しかし私は、デフォルトを使用しようとしましたEbeanのデータソースは成功しません。 ありがとうございました!

答えて

1

ebean.default = ["models.*"]は、db.defaultのキーのメンバーではありません。dbの外側に配置する必要があります。ここにあなたのログebeanは、このキーが別のデータベースであると考えて

play.api.Configuration$$anon$1: Configuration error[Cannot connect to 
    database [ebean]] 

詳細情報によると

https://www.playframework.com/documentation/2.5.x/JavaDatabase#H2-database-engine-connection-properties

+1

はそれが私の設定ファイルの問題だった、そんなにPedroct92ありがとうございます。以下の変更により、自分のアプリケーションが働いた:デシベル{ default.driver = org.h2.Driver default.url = "はjdbc:h2は:MEM:遊ぶ" " default.username = SA default.password =" を } ebean.default = "models。*" –

関連する問題