2013-01-12 77 views
1

A scalacheck jar被意外地包含在Scala 2.9.2的標準發行版中,在lib目錄中以及標準的scala運行時類(例如scala-library.jar)中。這是後續Scala發行版的discovered, and fixedScala 2.9.2中的scala runner的類路徑中排除scalacheck 2.9.2

我想運行scala 2.9.2解釋器並使用scalacheck的不同版本,但我無法忽視lib中的版本。

我想:

$ LOAD_SCALACHECK='import org.scalacheck.Gen; println(Gen.choose(0, 1).sample.get)' 
$ scala -e "$LOAD_SCALACHECK" 
$ scala -nobootcp -e "$LOAD_SCALACHECK" 
$ scala -Dscala.usejavacp=false -e "$LOAD_SCALACHECK" 
$ scala -Dscala.usejavacp=false -nobootcp -e "$LOAD_SCALACHECK" 

所有這些仍在使用的scalacheck.jar。除了從lib中刪除jar之外,還有什麼辦法可以在類路徑中運行解釋器(不包括lib中的jar)?

回答

0

你總是可以直接切入闖入者,至少對於非SBT管理的Scala來說......如果你在一個SBT管理的Scala中這樣做了,我很確定SBT會把它放回去。

在SBT的情況下,您可能會嘗試取消所有讀取該JAR的權限。我不知道類加載器在那種情況下會做什麼,但是我們希望它足夠強壯,可以跳過它並繼續瀏覽類路徑...

相關問題