2014-11-28 5 views
1

이 (또는 그렇게 생각) 나는이 오류로 실행 https://github.com/spray/spray-template/blob/on_spray-can_1.3/src/main/scala/com/example/MyService.scala의 예 :이유 "파라미터 RS에 대한 암시 적 가치를 찾을 수 없습니다 : spray.routing.RoutingSettings는"정확히 다음 동안

[error] /Users/alias/dev/src/main/scala/framework/MyActor.scala:86: could not find implicit value for parameter rs: spray.routing.RoutingSettings 
[error] def receive = runRoute(routes) 
[error] 

및 모를 수가 겉으로보기에는 같은 코드가 작동하지 않는 이유를 찾아보십시오.

답변

3

나는 implicitly

implicitly[RoutingSettings] 

가 거기에서 나는 모호한 암시

Multiple markers at this line 
    - implicit ActorRefFactory required: if outside of an Actor you need an implicit ActorSystem, inside of an actor this should be the implicit ActorContext 
    - not enough arguments for method default: (implicit refFactory: akka.actor.ActorRefFactory)spray.routing.RoutingSettings. Unspecified value parameter 
    refFactory. 
    - ambiguous implicit values: both value context in trait Actor of type => akka.actor.ActorContext and method system in trait ActorContext of type => 
    akka.actor.ActorSystem match expected type akka.actor.ActorRefFactory 

있다는 것을 확인할 수 있었다 사용하여 문제를 디버깅하기 위해 올바른 방향으로 절 지적 this을 발견 어떤 I 결국를 운동은 내 배우에서 import context._에 의해 발생했습니다

이것은 너무 일하게 너무 오래 걸렸습니다. 아웃, 그래서 잘하면 이것은 사람들에게 미래에 많은 시간을 절약 할 것입니다!

+0

하지만 가져 오기를 제거 했습니까? Scala는 내가 제거하면 나에게 불평하고있다! – dividebyzero

1

def actorRefFactory = context

+0

나는 거기에서 그것을 가지고 있었다. 그것은 ActorRefFactory (ActorContext와 ActorSystem)와 일치하는 범위에서 2 가지 함축을 갖는 것에 대한 충돌이었다. – devalias