2015-02-24 112 views
0

我可以在這裏問一些新手的問題:斯卡拉模塊

我的目標是在斯卡拉(2.11.5)使用微風模塊(0.10),於是我跟着:

$ sbt 
set scalaVersion := "2.10.3" // or 2.11.3 
set libraryDependencies += "org.scalanlp" %% "breeze" % "0.10" 
set resolvers += "Sonatype Releases" at "https://oss.sonatype.org/content/repositories/releases/" 
console 

和實際上,它運行良好,並在年底,當我接到提示我能做好這一點(從微風網站的一些例子)

import breeze.linalg._ 

然而,經過我剛好

退出並重新進入斯卡拉
$ scala 
Welcome to Scala version 2.11.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_75). 
Type in expressions to have them evaluated. 
Type :help for more information. 

scala> 

,並與一些激動,我想:

scala> import breeze.linalg._ 
<console>:7: error: not found: value breeze 
     import breeze.linalg._ 
      ^

看來模塊「水漲船高」,安裝後... 我可以知道如何「微風」永久安裝?還是我錯過了這裏的任何聯繫?

您的回答非常感謝。

回答

0

scala/java生態系統不會那樣工作;全局類路徑不會更改,因爲某些項目使用jar。

最簡單的解決方法是創建一個調用相同sbt咒語的bash別名(例如brscala)。

有一些方法可以使它工作(包括將符號鏈接放在$ SCALA_HOME/lib中的所有依賴項),但這絕對不被推薦。

0

看起來你要訪問的庫從終端

  • 指定的依賴關係(這裏微風&鞍)在build.sbt,例如

    scalaVersion := "2.10.4" 
    
    resolvers ++= Seq(
    "Sonatype OSS Releases" at "http://oss.sonatype.org/content/repositories/releases/", 
    "Sonatype OSS Snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/", 
    "Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/", 
    "Sonatype Releases" at "https://oss.sonatype.org/content/repositories/releases/" 
    ) 
    
    libraryDependencies ++= Seq(
    "joda-time" % "joda-time" % "2.1", 
    "org.joda" % "joda-convert" % "1.2", 
    "org.scala-saddle" %% "saddle-core" % "1.3.+", 
    "org.specs2" %% "specs2" % "2.4.1" % "test", 
    "org.scalacheck" %% "scalacheck" % "1.11.3" % "test", 
    "junit" % "junit" % "4.11" % "test", 
    "org.scalanlp" %% "breeze" % "0.12", 
    "org.scalanlp" %% "breeze-natives" % "0.12", 
    "org.scalanlp" %% "breeze-viz" % "0.12" 
    ) 
    
    initialCommands := """ 
    import org.joda.time.DateTime 
    import org.saddle._ 
    import org.saddle.time._ 
    import org.saddle.io._ 
    import me.first_install_saddle._ 
    import breeze.linalg._""" 
    
  • 假設你是cd到build.sbt的目錄:運行sbt update安裝依賴

  • 然後,而不是僅僅scala,在
  • 終端運行 sbt console

從那裏你可以從終端訪問這些庫。