考虑一个带有以下前两行(默认/无包)和一个main()的v简单scala对象:
object CpuTest {
def main(args: Array[String]) = {
..
编译工作正常
stephen@i386:/shared/OpenChai/dstat$ scalac CpuTest.scala
以下是课程:
stephen@i386:/shared/OpenChai/dstat$ ls -l *.class
-rw-rw-r-- 1 stephen stephen 1150 Jun 10 20:06 CpuTest$$anonfun$1.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$1$$anonfun$run$1.class
-rw-rw-r-- 1 stephen stephen 1444 Jun 10 20:06 CpuTest$MyThread$1.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[]);
}
但是我无法让classpath运行这个类:
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
这应该很简单。我错过了什么?
更新我找到了解决方法:需要添加“。”到类路径:
scala -classpath "$CLASSPATH":. CpuTest
现在我不明白为什么应该这样:原来的CLASSPATH已经包含了.class文件。
答案 0 :(得分:0)
我在滥用
<path>/*
类路径中的:通配符仅支持jar文件,而不支持.class文件。