Ошибка при использовании reactivemongo 0.12.1 с play 2.5.X

Я попытался перейти на реактивный mongo 0.12.1 с play 2.5.12, но когда я запускаю JVM, у меня закрывается, и я получаю следующую трассировку стека:

Любая помощь будет оценена по достоинству!

После изучения графика зависимостей (https://github.com/jrudolph/sbt-dependency-graph). В итоге у меня сработало исключение play-iteratees из ReactiveMongo.


person YaDa    schedule 20.02.2017    source источник
comment
Спасибо. Именно в этом и была проблема! В итоге я исключил итераторов из reactivemongo - org.reactivemongo %% play2-reactivemongo% reactiveMongoVersion excludeAll (ExclusionRule (com.typesafe.play, play-iteratees_2.11) // Это необходимо - иначе версия 2.6.1 отменяет все и убивает игру ),   -  person cchantep    schedule 20.02.2017
comment
Play ReactiveMongo уже исключает игровые зависимости, поэтому это не должно быть причиной   -  person YaDa    schedule 20.02.2017
comment
Неперехваченная ошибка из потока [application-akka.actor.default-dispatcher-2], закрывающего JVM, поскольку для ActorSystem [application] включен akka.jvm-exit-on-fatal-error, java.lang.NoClassDefFoundError: play / api / libs / concurrent / StateMachine в java.lang.ClassLoader.defineClass1 (собственный метод) в java.lang.ClassLoader.defineClass (ClassLoader.java:763) в java.security.SecureClassLoader.defineClass (SecureClass142oader) в java: .net.URLClassLoader.defineClass (URLClassLoader.java:467) в java.net.URLClassLoader.access $ 100 (URLClassLoader.java:73) в java.net.URLClassLoader $ 1. запустить (URLClassLoader.java:. URLClassLoader $ 1.run (URLClassLoader.java:362) в java.security.AccessController.doPrivileged (собственный метод) в java.net.URLClassLoader.findClass (URLClassLoader.java:361) в java.lang.ClassLass.joader. : 424) в java.lang.ClassLoader.loadClass (ClassLoader.java:357) в play.api.libs.streams.impl.EnumeratorSubscriptionFactory $ class.cr eateSubscription (EnumeratorPublisher.scala: 25) на play.api.libs.streams.impl.EnumeratorPublisher.createSubscription (EnumeratorPublisher.scala: 33) на play.api.libs.streams.impl.EnumeratorPublisher.createSubscription (EnumeratorPublisher.scala: 33) в play.api.libs.streams.impl.RelaxedPublisher.subscribe (RelaxedPublisher.scala: 19) в akka.stream.impl.MaterializerSession.akka $ stream $ impl $ MaterializerSession $$ doSubscribe (StreamLayout.scala: 1033) в akka. stream.impl.MaterializerSession.assignPort (StreamLayout.scala: 1025) в akka.stream.impl.MaterializerSession $$ anonfun $ exitScope $ 2.apply (StreamLayout.scala: 907) в akka.stream.impl.MaterializerSession $$ anonfun $ exitScope $ 2.применить (StreamLayout.scala: 906) в scala.collection.Iterator $ class.foreach (Iterator.scala: 893) в scala.collection.AbstractIterator.foreach (Iterator.scala: 1336) в akka.stream.impl.MaterializerSession .exitScope (StreamLayout.scala: 906) в akka.stream.impl.MaterializerSession $$ anonfun $ materializeModule $ 1.apply (S treamLayout.scala: 958) в akka.stream.impl.MaterializerSession $$ anonfun $ materializeModule $ 1.apply (StreamLayout.scala: 950) в scala.collection.immutable.Set $ ​​Set3.foreach (Set.scala: 163) at akka .stream.impl.MaterializerSession.materializeModule (StreamLayout.scala: 950) в akka.stream.impl.MaterializerSession.materialize (StreamLayout.scala: 917) в akka.stream.impl.ActorMaterializerImpl.materialize (ActorMaterializerImpl.scala: 256) в akka.stream.impl.ActorMaterializerImpl.materialize (ActorMaterializerImpl.scala: 146) в akka.stream.scaladsl. RunnableGraph.run (Flow.scala: 350) в akka.stream.scaladsl.Source.runWith (Source.scala: 81) в play.core.server.netty.NettyModelConversion.play $ core $ server $ netty $ NettyModelConversion $$ createChunkedResponse (NettyModelConversion.scala: 256) в play.core.server.netty.NettyModelConversion $$ anonfun $ convertResult $ 1.apply (NettyModelConversion.scala: 189) в play.core.server.netty.NettyModelConversion $$ anonfun $ convertResult $ 1.apply (NettyModelConversion.scala: 166) в play.core.server.common.ServerResultUtils $ .resultConversionWithErrorHandling (ServerResultUtils.scala: 127) в play.core.server.netty.NettyModelConversion.convertResult (в NettyModel play.core.conversion. 235). .server.netty.PlayRequestHandler $$ anonfun $ play $ core $ server $ netty $ PlayRequestHandler $$ handleAction $ 2 $$ anonfun $ apply $ 3.apply (PlayRequestHandler.scala: 273) at play.core.server.netty.PlayRequestHandler $$ anonfun $ play $ core $ server $ netty $ PlayRequestHandler $$ handleAction $ 2 $$ anonfun $ apply $ 3.apply (PlayRequestHandler.sc ala: 267) на scala.concurrent.Future $$ anonfun $ flatMap $ 1.apply (Future.scala: 253) на scala.concurrent.Future $$ anonfun $ flatMap $ 1.apply (Future.scala: 251) на scala.concurrent .impl.CallbackRunnable.run (Promise.scala: 32) в play.api.libs.iteratee.Execution $ trampoline $ .executeScheduled (Execution.scala: 110) в play.api.libs.iteratee.Execution $ trampoline $ .execute (Execution.scala: 70) в scala.concurrent.impl.CallbackRunnable.executeWithValue (Promise.scala: 40) в scala.concurrent.impl.Promise $ DefaultPromise.tryComplete (Promise.scala: 248) в scala.concurrent.Promise $ class.complete (Promise.scala: 55) в scala.concurrent.impl.Promise $ DefaultPromise.complete (Promise.scala: 153) в scala.concurrent.Future $$ anonfun $ и затем применить $ 1 (Future.scala: 436) в scala.concurrent.Future $$ anonfun $ и затем $ 1.apply (Future.scala: 435) в scala.concurrent.impl.CallbackRunnable.run (Promise.scala: 32) в akka.dispatch.BatchingExecutor $ AbstractBatch.processBatch (BatchingExecutor .scala: 55) в akka.dispatch.BatchingExecutor $ BlockableBatch $$ anonfun $ run $ 1.apply $ mcV $ sp (BatchingExecutor.scala: 91) в akka.dispatch.BatchingExecutor $ BlockableBatch $$ anonfun $ run $ 1.apply (BatchingExecutor.scala: 91) в akka.dispatch.BatchingExecutor $ BlockableBatch $$ anonfun $ run $ 1.apply (BatchingExecutor.scala: 91) в scala.concurrent.BlockContext $ .withBlockContext (BlockContext.scala: 72) в akka.dispatch.BatchingExecutor $ (BlockableBatch. BatchingExecutor.scala: 90) в akka.dispatch. TaskInvocation.run (AbstractDispatcher.scala: 39) в akka.dispatch.ForkJoinExecutorConfigurator $ AkkaForkJoinTask.exec (AbstractDispatcher.scala: 415) в scala.concurrent.forkjoin.ForkJoinTask.doJava.configurator (Scala.concurrent.forkjoin.ForkJoinTask. .ForkJoinPool $ WorkQueue.runTask (ForkJoinPool.java:1339) в scala.concurrent.forkjoin.ForkJoinPool.runWorker (ForkJoinPool.java:1979) в scala.concurrent.freadoin.java: java.lang.ClassNotFoundException: play.api.libs.concurrent.StateMachine   -  person cchantep    schedule 20.02.2017


Ответы (1)


В моем build.sbt измените импорт на:

Убедитесь, что с извлеченной зависимостью Iteratees нет проблем. ReactiveMongo for Play ожидает, что он будет предоставлен самой Play, с 2.4 до 2.6.

"org.reactivemongo" %% "play2-reactivemongo" % reactiveMongoVersion excludeAll( ExclusionRule("com.typesafe.play", "play-iteratees_2.11")
person YaDa    schedule 21.03.2017