Ho installato il seguente: 1.Play 2.4 2.Created un progetto di scala 3.Added il Plug-in EclipseCome installare ReactiveMongo in gioco 2.4?
Ora ho voluto aggiungere una connessione al database. Voglio provare ReactiveMongo, ma le istruzioni sulla pagina wiki sono per 2.3 o precedenti.
https://github.com/ReactiveMongo/Play-ReactiveMongo
Per 2.4 Sembra che la struttura dei file di gioco è cambiato. Devo conoscere il modo corretto per configurare la riproduzione 2.4 per ReactiveMongo.
Ecco le istruzioni che danno per le versioni più recenti di gioco di 2,4:
If you want to use the latest snapshot, add the following instead (only for play > 2.3):
resolvers += "Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
libraryDependencies ++= Seq(
"org.reactivemongo" %% "play2-reactivemongo" % "0.11.0-SNAPSHOT"
)
Configure your application to use ReactiveMongo plugin
add to your conf/play.plugins
1100:play.modules.reactivemongo.ReactiveMongoPlugin
Configure your database access within application.conf
Come dovrei là di configurazione si applicano alla nuova struttura del file di gioco 2.4?
Questo è quello che ho cercato di fare senza successo: Nel progetto/plugins.sbt ho aggiunto:
resolvers += "Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin("org.reactivemongo" % "play2-reactivemongo" % "0.11.0-SNAPSHOT")
ricevo un messaggio di errore risolvere:
at java.lang.Thread.run(Thread.java:745)
[error] (*:update) sbt.ResolveException: unresolved dependency: org.reactivemong
o#play2-reactivemongo;0.11.0-SNAPSHOT: not found
Così, dopo imparando che avevo bisogno di aggiungere la dipendenza al file /build.sbt e ho apportato le modifiche lì.
name := """oneid-scala"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.11.6"
libraryDependencies ++= Seq(
jdbc,
cache,
ws,
specs2 % Test
)
resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"
//This is for reactivemongodb
resolvers += "Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
//This is for reactivemongodb
libraryDependencies ++= Seq(
"org.reactivemongo" %% "play2-reactivemongo" % "0.11.0-SNAPSHOT"
)
// Play provides two styles of routers, one expects its actions to be injected, the
// other, legacy style, accesses its actions statically.
routesGenerator := InjectedRoutesGenerator
EclipseKeys.createSrc := EclipseCreateSrc.All
Dopo aver eseguito questi passaggi, volevo verificare se l'installazione fosse stata eseguita correttamente. Così ho tentato di aggiungere il codice tutorial per il mio progetto da https://github.com/ReactiveMongo/Play-ReactiveMongo
/app
/controllers/Application.scala
/controllers/UsingJsonReadersWriters.scala
/models/models.scala
/conf
/routes
Poi faccio un attivatore pulita Poi faccio una corsa attivatore
vedo un errore dopo la corsa:
missing or invalid dependency detected while loading class file 'JSONGenericHandlers.class'.
Could not access type GenericHandlers in package reactivemongo.api.collections, because it (or its dependencies) are missing.
Check your build definition for missing or conflicting dependencies.
(Re-run with `-Ylog-classpath` to see the problematic classpath.)
A full rebuild may help if 'JSONGenericHandlers.class' was compiled against an incompatible version of reactivemongo.api.collections.
Quindi, sembra che la mia installazione non sia riuscita. Quindi, questa domanda è ancora aperta.
È possibile dare un'occhiata alla [documentazione] (http://reactivemongo.org/releases/0.11.0/documentation/tutorial/play2.html) aggiornata poiché il plug-in è già disponibile come 0.11.0. play24-M2 (pietra miliare che sta per essere rilasciata come 0.11 finale). – cchantep