首页 文章

使用reactivemongo 0.12.1与play 2.5.X时出错

提问于
浏览
4

我尝试使用play 2.5.12升级到reactive mongo 0.12.1,但是当我运行JVM退出时,我得到以下堆栈跟踪:

来自线程[application-akka.actor.default-dispatcher-2]的未捕获错误因为'akka.jvm-exit-on-fatal-error'为ActorSystem [application]启用而关闭JVM java.lang.NoClassDefFoundError:play / api / javas / concurrent / StateMachine at java.lang.ClassLoader.defineClass1(Native Method),位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)的java.lang.ClassLoader.defineClass(ClassLoader.java:763) java.net上的java.net.URLClassLoader.access $ 100(URLClassLoader.java:73)中的.net.URLClassLoader.defineClass(URLClassLoader.java:467)java.net.URLClassLoader $ 1.run(URLClassLoader.java:368) . URLClassLoader $ 1.run(URLClassLoader.java:362)位于java.security.AlassController.doPrivileged(Native Method)的java.net.URLClassLoader.findClass(URLClassLoader.java:361)java.lang.ClassLoader.loadClass(ClassLoader.java) :424)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at play.api.libs.streams.impl.EnumeratorSubscriptionFactory $ class.createSubscription(Enumerator) Publisher.scala:25)at play.api.libs.streams.impl.EnumeratorPublisher.createSubscription(EnumeratorPublisher.scala:33)at play.api.libs.streams.impl.EnumeratorPublisher.createSubscription(EnumeratorPublisher.scala:33)at play .api.libs.streams.impl.RelaxedPublisher.subscribe(RelaxedPublisher.scala:19)位于akka.stream的akka.stream.impl.MaterializerSession.akka $ stream $ impl $ MaterializerSession $$ doSubscribe(StreamLayout.scala:1033) . impa.MaterializerSession.assignPort(StreamLayout.scala:1025)at akka.stream.impl.MaterializerSession $$ anonfun $ exitScope $ 2.apply(StreamLayout.scala:907)at akka.stream.impl.MaterializerSession $$ anonfun $ exitScope $ 2 . 在scala.collection.Iterator $ class.foreach(Iterator.scala:893)的scala.collection.AbstractIterator.foreach(Iterator.scala:1336)at akka.stream.impl.MaterializerSession.exitScope上申请(StreamLayout.scala:906) (StreamLayout.scala:906)akka.stream.impl.MaterializerSession $$ anonfun $ materializeModule $ 1.apply(StreamLayout.scala:958)at akka.stream.impl.Mat erializerSession $$ anonfun $ materializeModule $ 1.apply(StreamLayout.scala:950)at scala.collection.immutable.Set $ Set3.foreach(Set.scala:163)at akka.stream.impl.MaterializerSession.materializeModule(StreamLayout.scala: 950)at akka.stream.impl.MaterializerSession.materialize(StreamLayout.scala:917)at akka.stream.impl.ActorMaterializerImpl.materialize(ActorMaterializerImpl.scala:256)at akka.stream.impl.ActorMaterializerImpl.materialize(ActorMaterializerImpl.scala :146)at akka.stream.scaladsl.RunnableGraph.run(Flow.scala:350)at akka.stream.scaladsl.Source.runWith(Source.scala:81)at play.core.server.netty.NettyModelConversion.play $ core $ server $ netty $ NettyModelConversion $$ createChunkedResponse(NettyModelConversion.scala:256)at play.core.server.netty.NettyModelConversion $$ anonfun $ convertResult $ 1.apply(NettyModelConversion.scala:189)at play.core.server.netty .NettyModelConversion $$ anonfun $ convertResult $ 1.apply(NettyModelConversion.scala:166)at play.core.server.common.ServerResultUtils $ .resu atConversionWithErrorHandling(ServerResultUtils.scala:127)at play.core.server.netty.NettyModelConversion.convertResult(NettyModelConversion.scala:235)at play.core.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 $申请$ 3.apply(PlayRequestHandler.scala:267)at scala.concurrent.Future $$ anonfun $ flatMap $ 1.apply(Future.scala:253)at scala.concurrent.Future $$ anonfun $ flatMap $ 1.apply(Future.scala :251)scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)at play.api.libs.iteratee.Execution $ trampoline $ .executeScheduled(Execution.scala:110)at play.api.libs.iteratee .saccution $ trampoline $ .execute(Execution.scala:70)at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40)at scala.concurrent.impl.Promise $ DefaultPromise.tryComplete(Promise.scala:2) 48)scala.concurrent.Promise $ class.complete(Promise.scala:55)at scala.concurrent.impl.Promise $ DefaultPromise.complete(Promise.scala:153)at scala.concurrent.Future $$ anonfun $ andThen $ 1 .apply(Future.scala:436)at scala.concurrent.Future $$ anonfun $ andThen $ 1.apply(Future.scala:435)at akka的scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) . dispatch.BatchingExecutor $ AbstractBatch.processBatch(BatchingExecutor.scala:55)at akka.dispatch.BatchingExecutor $ BlockableBatch $$ anonfun $ run $ 1.apply $ mcV $ sp(BatchingExecutor.scala:91)at akka.dispatch.BatchingExecutor $ BlockableBatch $ $ anonfun $ run $ 1.apply(BatchingExecutor.scala:91)at akka.dispatch.BatchingExecutor $ BlockableBatch $$ anonfun $ run $ 1.apply(BatchingExecutor.scala:91)at scala.concurrent.BlockContext $ .withBlockContext(BlockContext.scala :72)at akka.dispatch.BatchingExecutor $ BlockableBatch.run(BatchingExecutor.scala:90)at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39)at akka.dispatch.ForkJoinExecutorConfigurator $ AkkaForkJoinTask.exec(AbstractDispatcher.scala:415)at at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)在scala.concurrent.forkjoin.ForkJoinPool $ WorkQueue.runTask(ForkJoinPool.java:1339)在scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java: 1979年)在scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)引起的:抛出java.lang.ClassNotFoundException:play.api.libs.concurrent.StateMachine

任何帮助将不胜感激!

1 回答

  • 6

    在检查了依赖关系图(https://github.com/jrudolph/sbt-dependency-graph)之后,最终为我工作的是从ReactiveMongo中排除播放迭代 .

    在我的build.sbt中,将导入更改为:

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

相关问题