Re: java.lang.IncompatibleClassChangeError: Found class scalaz.$bslash$div, but interface was expected

148 views
Skip to first unread message
Message has been deleted

Gary Pamparà

unread,
Oct 26, 2015, 5:06:12 AM10/26/15
to Rimeh BN, argonaut-json
You have a mismatch in the versions on scalaz and argonaut.

Please update your argonaut dependency to 6.1, or downgrade to scalaz 7.0 (not recommended)

Regards,
Gary

On Mon, 26 Oct 2015 at 11:03 Rimeh BN <bennji...@gmail.com> wrote:
My Code is :

import scala.concurrent.ExecutionContext.Implicits.global
import scala.util.{Success, Failure}
import scala.concurrent.duration._
import akka.actor.ActorSystem
import akka.pattern.ask
import akka.event.Logging
import akka.io.IO
import spray.can.Http
import spray.client.pipelining._
import spray.util._
import argonaut._, Argonaut._

object Main extends App {


case class Elevation(location: Location, elevation: Double)
case class Location(lat: Double, lng: Double)
case class GoogleApiResult(status: String, results: List[Elevation])

implicit def locationFormat: CodecJson[Location] = casecodec2(Location.apply, Location.unapply)("lat", "lng")
implicit def elevationFormat: CodecJson[Elevation] = casecodec2(Elevation.apply, Elevation.unapply)("location", "elevation")
implicit def googleApiResultFormat: CodecJson[GoogleApiResult] = casecodec2(GoogleApiResult.apply, GoogleApiResult.unapply)("status", "results")

implicit val system = ActorSystem("simple-spray-client")

val log = Logging(system, getClass)

log.info("Requesting the elevation of Mt. Everest from Googles Elevation API...")

val pipeline= sendReceive
val responseFuture= pipeline {
Get("http://maps.googleapis.com/maps/api/elevation/json?locations=27.988056,86.925278&sensor=false")
}
responseFuture.onComplete {

case Success(result) => {
val content= result.entity.asString
println(content)
val resultdecode: GoogleApiResult= content.decodeOption[GoogleApiResult].getOrElse(GoogleApiResult("",Nil))
println(resultdecode)

log.info("The elevation of Mt.Everest is: {} ", resultdecode.results.toString())
shutdown()
}
case Failure(error) =>
log.error(error, "Couldn't get elevation")
shutdown()
}

def shutdown(): Unit = {
IO(Http).ask(Http.CloseAll)(1.second).await
system.shutdown()
}
}
  for my dependencies I have:
name := "test"

version := "1.0"

scalaVersion := "2.11.7"

libraryDependencies ++= {
val akkaV = "2.3.6"
val sprayV = "1.3.2"
Seq(
"io.spray" %% "spray-can" % sprayV withSources() withJavadoc(),
"io.spray" %% "spray-routing" % sprayV withSources() withJavadoc(),
"io.spray" %% "spray-json" % "1.3.1",
"io.spray" %% "spray-testkit" % sprayV % "test",
"com.typesafe.akka" %% "akka-actor" % akkaV,
"com.typesafe.akka" %% "akka-testkit" % akkaV % "test",
"org.specs2" %% "specs2-core" % "2.3.11" % "test",
"org.scalaz" %% "scalaz-core" % "7.1.0",
"io.spray" % "spray-client_2.11" % "1.3.3",
"io.argonaut" %% "argonaut" % "6.0.4"
)
}


and the errors :
java.lang.IncompatibleClassChangeError: Found class scalaz.$bslash$div, but interface was expected
    at argonaut.JsonParser$.expectObject(JsonParser.scala:80)
    at argonaut.JsonParser$.argonaut$JsonParser$$expectValue(JsonParser.scala:128)
    at argonaut.JsonParser$.parse(JsonParser.scala:53)
    at argonaut.Parse$.parse(Parse.scala:116)
    at argonaut.Parse$.parse(Parse.scala:110)
    at argonaut.Parse$class.decode(Parse.scala:47)
    at argonaut.Parse$.decode(Parse.scala:110)
    at argonaut.Parse$class.decodeOption(Parse.scala:92)
    at argonaut.Parse$.decodeOption(Parse.scala:110)
    at argonaut.ParseWrap.decodeOption(ParseWrap.scala:93)
    at Main$$anonfun$1.apply(test.scala:40)
    at Main$$anonfun$1.apply(test.scala:35)
    at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
    at scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:121)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.pollAndExecAll(ForkJoinPool.java:1253)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1346)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)



--
You received this message because you are subscribed to the Google Groups "argonaut-json" group.
To unsubscribe from this group and stop receiving emails from it, send an email to argonaut-jso...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages