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文件。
考虑一个具有以下前两行(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文件。