Scala Lazy Val Question

Eu tenho um cenário em que tenho alguns objetos que precisam incluir referências um do outro. A única maneira de conseguir isso para compilar é usarpreguiçoso

class A(b:B)
class B(a:A)
lazy val a:A = new A(b)
lazy val b:B = new B(a)

Eu posso fazer a mesma coisa usando alguns atores e compilar também

    abstract class Message
    case class Message1 extends Message
    case class Message2 extends Message

    class Actor1(otherActor:Actor) extends Actor {
        def act() {
            loop {
                react {
                    case Message1 =>
                        println("received message1")
                        otherActor ! Message2
                    case _ =>
                }
            }
        }
    }

    class Actor2(otherActor:Actor) extends Actor {
        def act() {
            loop {
                react {
                    case Message2 =>
                        println("received message2")
                        otherActor ! Message1
                    case _ =>
                }
            }
        }
    }

    lazy val actor1:Actor = new Actor1(actor2)
    lazy val actor2:Actor = new Actor2(actor1)

No entanto, quando adiciono o seguinte:

    actor1.start
    actor2.start
    actor1 ! Message1

Estou tendo o erro a seguir:

Exceção no encadeamento "main" java.lang.NoClassDefFoundError: com / fictitiousCompany / stackOverflowQuestion / Test Causado por: java.lang.ClassNotFoundException: com.fictitiousCompany.stackOverflowQuestion.Test em java.net.URLClassLoader $ 1.run (U. ) em java.security.AccessController.doPrivileged (método nativo) em java.net.URLClassLoader.findClass (URLClassLoader.java:190) em java.lang.ClassLoader.loadClass (ClassLoader.java:307) em sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:301) e java.lang.ClassLoader.loadClass (ClassLoader.java:248)

Estou usando o Scala Eclipse Plugin 2.8.1.

questionAnswers(1)

yourAnswerToTheQuestion