2017-02-24 2 views
1

J'essaye de développer avec Play Framework version 2.5, et je n'arrive pas à obtenir la bonne connexion à la base de données. J'utilise la base de données H2 avec Ebean plugin 3.0.2 comme ORM. J'ai essayé plusieurs options pour les entrées dans application.conf, en fonction des informations trouvées sur le site Web de Play Framework et de beaucoup de vos messages. S'il vous plaît trouverez ci-dessous les entrées à mes fichiers de configuration et la trace d'erreur et me aider:Problème de configuration Ebean et H2 avec Play framework 2.5

 **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) 

J'ai eu le même message d'erreur avec la configuration H2, qui a été résolu ajouterez le nomClasseSourceDonnées, mais je l'ai essayé d'utiliser par défaut comme datasource pour Ebean sans succès. Merci!

Répondre

1

ebean.default = ["models.*"] n'est pas un membre de la clé db.default vous devez le placer en dehors de db.

Selon votre ebean journal pense que cette clé est une autre base de données

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

Plus d'infos ici:

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

+1

Merci beaucoup Pedroct92, qui était le problème avec mon fichier de configuration. Avec la modification suivante, ma demande a travaillé: db { default.driver = org.h2.Driver default.url = "jdbc: h2: mem: jouer" default.username = sa default.password = "" } ebean.default = "modèles. *" –