Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Cats未来Monad给出运行时异常_Scala_Monads_Future_Scala Cats - Fatal编程技术网

Scala Cats未来Monad给出运行时异常

Scala Cats未来Monad给出运行时异常,scala,monads,future,scala-cats,Scala,Monads,Future,Scala Cats,这给了我一个运行时异常,我不明白为什么。我正在使用scala版本2.12.2和cats版本cats-core_2.12 java.lang.NoClassDefFoundError:无法初始化类 $line9.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$ 在scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:302) 在scala.concurrent.impl.Promise.$anonfun$

这给了我一个运行时异常,我不明白为什么。我正在使用scala版本2.12.2和cats版本cats-core_2.12

java.lang.NoClassDefFoundError:无法初始化类 $line9.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$ 在scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:302) 在scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:37) 在scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60) 在scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:140) 位于java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) 位于java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) 位于java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) 在java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)处 java.util.concurrent.TimeoutException:期货在[1]之后超时 第二]在 scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:255) 在 scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:259) 在scala.concurrent.Await$.$anonfun$result$1(package.scala:215)处 scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53) 在scala.concurrent.Await$.result(package.scala:142)。。。43删去


这些错误通常意味着您的依赖项中存在同一库的两个非二进制兼容版本。尝试运行
sbt executed
,查看是否有
cats核心版本被逐出


然后,您必须确保每个人都使用相同的版本(可能您只需要将您的版本更新为最新版本)。

这是由于repl中的错误造成的

在sbt控制台中运行代码可以正常工作

import cats.Monad
import cats.instances.future._
import scala.concurrent._
import scala.concurrent.duration._

import scala.concurrent.ExecutionContext.Implicits.global

val fm = Monad[Future]

Await.result(
  fm.flatMap(fm.pure(1)) {
    x => fm.pure(x+2)
  }, 1.second
)
import scala.concurrent._
import scala.concurrent.duration._
import cats.Monad
import cats.instances.future._
import scala.concurrent.ExecutionContext.Implicits.global

object Test extends App {
  println("Inside test")
  val fm = Monad[Future]
  val x = Await.result(
    fm.flatMap(fm.pure(1)) {
      x => fm.pure(x+2)
    }, 1.second
  )
  println(x)
}