2015-06-11 35 views
0

考慮AV簡單斯卡拉對象有以下前兩行(缺省的/無包),主體():Scala的類路徑中沒有找到默認包類在本地目錄

object CpuTest { 
def main(args: Array[String]) = { 
     .. 

編譯工作正常

[email protected]:/shared/OpenChai/dstat$ scalac CpuTest.scala 

這裏是類:

[email protected]:/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是滿意的:

[email protected]:/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/* 

[email protected]:/shared/OpenChai/dstat$ scala CpuTest 
No such file or class on classpath: CpuTest 
[email protected]:/shared/OpenChai/dstat$ scala -classpath "$CLASSPATH" CpuTest 
No such file or class on classpath: CpuTest 

這應該是死的簡單。我錯過了什麼?

更新我發現了一個解決方法:需要添加「。」到classpath:

scala -classpath "$CLASSPATH":. CpuTest 

現在我不明白爲什麼這應該是:原來的CLASSPATH已經包含了.class文件。

回答

0

我在classpath中濫用

<path>/* 

:通配符僅支持jar文件,而不是.class文件。

+0

默認情況下它也包含pwd。 –

相關問題