Scala を複数バージョンインストールしてある環境での NoClassDefFoundError

Scala 2.8.0.final と 2.9.0.1 をインストールしてあるWindowsマシンで、2.8.0.final の方を使ってスクリプトを実行しようとしたら NoClassDefFoundError が出た。

C:\tmp>"C:\Program Files (x86)\scala 2.8.0.final\bin\scala" test.scala
java.lang.NoClassDefFoundError: scala/Serializable
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.scala$tools$nsc$util$ScalaClassLoader$$super$findClass(ScalaClassLoader.scala:86)
        at scala.tools.nsc.util.ScalaClassLoader$class.findClass(ScalaClassLoader.scala:51)
        at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.findClass(ScalaClassLoader.scala:86)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.scala$tools$nsc$util$ScalaClassLoader$$super$loadClass(ScalaClassLoader.scala:86)
        at scala.tools.nsc.util.ScalaClassLoader$class.loadClass(ScalaClassLoader.scala:57)
        at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.loadClass(ScalaClassLoader.scala:86)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at Main$$anon$1.<init>(test.scala:9)
        at Main$.main(test.scala:1)
        at Main.main(test.scala)
(略)

ググッたところ、両方のバージョンのコンパイルデーモンが立ち上がっている兼ね合いでは…的な情報が得られたので、試しにコンパイルデーモンを使わずにコンパイルしてみた。

C:\tmp>"C:\Program Files (x86)\scala 2.8.0.final\bin\scala" -nocompdaemon test.scala

C:\tmp>

成功。
コンパイルデーモンを使ってどうにかする方法もあるのかも知れないが、普段は 2.9.0.1 の方をメインで使っているのでこれでよしとする。