Scala classpath 在本地目录中找不到默认包 class

Scala classpath not finding default package class in local directory

考虑一个具有以下前两行(default/no 包)和一个 main():

的简单 scala 对象
object CpuTest {
 def main(args: Array[String]) = {
      ..

编译正常

stephen@i386:/shared/OpenChai/dstat$ scalac CpuTest.scala

这里是 classes:

stephen@i386:/shared/OpenChai/dstat$ ls -l *.class
-rw-rw-r-- 1 stephen stephen 1150 Jun 10 20:06 CpuTest$$anonfun.class
-rw-rw-r-- 1 stephen stephen  667 Jun 10 20:06 CpuTest.class
-rw-rw-r-- 1 stephen stephen 1748 Jun 10 20:06 CpuTest$.class
-rw-rw-r-- 1 stephen stephen 2175 Jun 10 20:06 CpuTest$MyThread$$anonfun$run.class
-rw-rw-r-- 1 stephen stephen 1444 Jun 10 20:06 CpuTest$MyThread.class

并且 javap 对此很满意:

stephen@i386:/shared/OpenChai/dstat$ javap CpuTest.class
Compiled from "CpuTest.scala"
public final class CpuTest {
  public static void main(java.lang.String[]);
}

但我无法获得 class 工作路径 运行 这个 class:

export CLASSPATH="$(pwd)/*"

echo "$CLASSPATH"
/shared/OpenChai/dstat/*

stephen@i386:/shared/OpenChai/dstat$ scala CpuTest
No such file or class on classpath: CpuTest
stephen@i386:/shared/OpenChai/dstat$ scala -classpath "$CLASSPATH" CpuTest
No such file or class on classpath: CpuTest

这应该非常简单。我错过了什么?

更新 我找到了解决方法:需要添加“.”到class路径:

scala -classpath "$CLASSPATH":. CpuTest

现在我不明白为什么会这样:原来的 CLASSPATH 已经包含了 .class 文件。

我误用了

<path>/*

在class路径中:通配符只支持jar文件,不支持.class文件。