2014-09-06 158 views
1

我正在嘗試使用ScalaCheck。以下是我的HelloWorld.scala斯卡拉代碼,它從ScalaCheck進口並使用Gen.const方法。在類路徑中指定jar時找不到類路徑中的Scala類

package com 

import org.scalacheck._ 
import org.scalacheck.Gen._ 
import org.scalacheck.Arbitrary.arbitrary 

sealed abstract class Tree 
case class Node(left: Tree, right: Tree, v: Int) extends Tree 
case object Leaf extends Tree 

object HelloWorld { 
val genLeaf = Gen.const(Leaf) 

def main(args: Array[String]) { 
    println("Hello, world!") 
} 
} 

編譯通過鍵入(這工作)

scalac -cp scalacheck_2.11-1.11.5.jar com/HelloWorld.scala 

通過輸入(2所替代)斯卡拉

No such file or class on classpath: com.HelloWorld 

scala -cp scalacheck_2.11-1.11.5.jar com.HelloWorld 
scala -cp "scalacheck_2.11-1.11.5.jar;./com" com.HelloWorld 

輸出執行當我刪除所有ScalaCheck代碼在HelloWorld.scala並且不使用-cp標誌編譯一切正常。將ScalaCheck代碼和jar添加到-cp標誌時,出現上述錯誤。

如何正確設置類路徑?

(版本:

scalac -version 

Scala編譯器版本2.11.2 - 版權所有2002至2013年,LAMP/EPFL

scala -version 

Scala代碼亞軍版本2.11.2 - 版權所有2002至2013年,LAMP/EPFL

操作系統:Linux

+0

試試這個斯卡拉-cp 「scalacheck_2.11-1.11.5.jar ;.」 com.HelloWorld – Adi 2014-09-06 18:21:21

+0

我得到錯誤「沒有這樣的文件或類路徑:com.HelloWorld」 – robor78 2014-09-06 18:22:55

+2

如果你儘可能快地開始使用構建系統,你將會非常快樂。這需要兩行配置和SBT,然後你再也不用擔心類路徑(不是真的,而是更接近)。 – 2014-09-06 18:46:55

回答

2

您正在使用哪種操作系統?如果不能在Windows,路徑分隔符應:,試試這個

scala -cp "scalacheck_2.11-1.11.5.jar:." com.HelloWorld 
+0

它適用於我(Mac OSX)。 – Loki 2014-09-07 02:40:40

+0

可以:(冒號)作爲分隔符。謝謝洛基。 – robor78 2014-09-07 03:27:50