sbt安装后的scala模块

时间:2015-02-24 15:46:00

标签: scala sbt scala-breeze

我可以在这里问一些新手问题:

我的目标是在Scala(2.11.5)中使用Breeze模块(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

实际上,它运行良好,最后,当我得到提示时我可以做得很好(Breeze网站的一些例子)

import breeze.linalg._

然而,在我退出并以

重新进入Scala之后
$ 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._
              ^

安装后模块似乎“消失了”...... 我可以知道如何永久安装“Breeze”吗?还是我错过了这里的任何联系?

非常感谢您的回答。

2 个答案:

答案 0 :(得分:0)

scala / java生态系统不会那样工作;由于某个项目使用jar,因此全局类路径不会更改。

你最简单的解决办法就是制作一个bash别名(例如brscala)来调用相同的sbt咒语。

有一些方法可以使它工作(包括将符号链接放到$ SCALA_HOME / lib中的微风及其所有依赖项),但绝对不推荐这样做。

答案 1 :(得分:0)

看起来您想要从终端访问库

  • 在build.sbt中指定依赖项(此处为breeze&amp; saddle),例如:

    x
  • 假设您已进入build.sbt目录:运行long long以安装依赖项

  • 然后在{<1}}中运行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._""" ,而不仅仅是sbt update

从那里您可以从终端访问库。